1. jpa和mybatis的反映对象不同

GPA是java persistence api的缩写,它的中文翻译就是指程序JAVA持久层API,Mybatis相对来说比较实用的持久层框架。首先,两者最大的不同就在于内部的反应对象,JPA的操作是在对象与对象之间的反射,而mybatis的处理对象是在对象和结果集合之间的反射。虽然其最终的持久层框架结果是一样的,但是却在操作过程中有千差万别。

2. jpa和mybatis的功能性质不同

从整体的移植性来看,GPA的一致性相对较好,他在数据库的兼容性基本都是相同的,所以不用担心其他问题。一般来说springdatajpa都知道当一个接口继承了GPA,接口之后便会自动具备数据移植的良好性质。由于mybatis是使用SQL语句,所以在移植时必须将数据库的类型改为sql了。从这一点上来看,GPA更具优势,其次在操作层面修改字段的时候,mybatis也相对操作步骤比较多。

3. jpa和mybatis操作流程不同

如果是学习操作持久层的话,用hibernate会比较麻烦,所以从具体学习操作来看,mybatis具有更强烈的优势,同时也可以使用springdatajpa,但是这一种方式更适合于单表。但在这里可以发现这一篇a的妥协性,为了支持这一特性,但在实际操作起来,并不推荐荐使用,因为这种操作方式并不符合领域驱动设计的目标和理念。