当前持久层两大流派ORM和原生SQL;代表阵营为:JPA(Hibernate)和MyBatis(Jdbc)
MyBatis的有点就是简单易学,运行起来也非常的高效,国内大部分互联网企业快速迭代的首选框架;
JPA相比MyBatis就有一定的学习成本,而且有很多的ORM相关的技术和概念,还有自己的一套JPQL语言;
虽然国内选择JPA的公司很少,但是我还是想为JPA证言几句:
1:JPA的初衷是为了夸平台,也就是一个语言可以底层可以是mysql也可以是Oracle,可以是DB2也可以是SqlServer;当然发现这个其实有些鸡肋,大部分公司的应用再开发之前都会确定一种数据库类型,防止切换数据库的风险;还有就是现在非关系数据库和全文检索的兴起,数据库的作用就越来越成为数据仓库了;更多的是数据存取和查询;
2:其实使用JPA可以获得多种查询能力:传统的sql查询,面向对象的JPQL,QueryDSL,还有spring data 提供的动态Repository,以及省略了保存和删除修改的sql,可以方便你使用多种途径来进行数据的存取;
其他好像也差不多,想数据缓存什么的,事务之类的都大差不差;从生产力上来说还是要看底层的框架支持,框架如果支持的够好的话,就会极大的提高生产效率