您的位置:首页 > 编程语言 > Java开发

JPA Spring-Data-JPA hibernate mybatis

2017-06-01 20:00 555 查看
1 Hibernate与 MyBatis的比较:总结的比较全

http://blog.csdn.net/firejuly/article/details/8190229

2 SpringJPA 和 Mybatis之间的关系或者异同:总结的接近本质

https://segmentfault.com/q/1010000006139001?_ea=1041828

1 JPA - Java Persistence API,是从JDK5开始提供的,用来描述对象 <--> 关系表映射关系,并持久化的标准。也就是说,在java中,他只是一套标准接口,没了具体实现,她什么也实现不了。常见的实现有hibernate,spring data jpa。

Mybatis - 另一个思路的持久化层orm框架,与上述的JPA思路不同,他不是依靠ORM描述映射关系来与数据库交互的。具体可以看看MyBatis
vs ORM。

2  个人认为
Spring
Data JPA
并不是一个标准的框架,他只是简化了对
JPA
的使用,并没有实现
JPA
的规范,也许他们觉得
JPA
使用起来有点繁琐,而
JPA
本身就是一个规范,是一个接口,要用的话还是需要结合
JPA
的实现一起用,比如
Hibernate
,或者其他的
JPA
实现,比如
Apache
OpenJPA
。而
Mybatis
是一个持久层的框架(并没有实现
JPA
的规范,也不是一个完全意义上的
ORM
框架),和
Mybatis
对标的是
Hibernate
(或者说是
JPA
,都一个意思),
Spring
Data JPA
是一个更高层次的。类似的还有
Spring
Data MongoDB
Spring
Data Redis
。如有不对,请大家不吝赐教。

3 JPA规范与ORM框架的关系如下图: 

http://blog.csdn.net/sonny543/article/details/51517413 --stackoverflow答案

http://blog.csdn.net/benjaminlee1/article/details/53087351

spring data jpa是在JPA规范下提供了Repository层的实现,但是使用哪一种ORM需要你来决定。stackoverflow答案。虽然ORM框架都实现了JPA规范,但是在不同的ORM框架之间切换仍然需要编写不同的代码,而通过使用Spring data jpa能够方便大家在不同的ORM框架之间进行切换而不要更改代码。并且spring data jpa 对Repository层封装的很好,也省去了不少的麻烦。 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: