Hibernate和Spring Data JPA有什么区别?

让我们首先了解 JPA
, Hibernate
和 Spring Data JPA
的定义,这样就可以很容易地讨论Hibernate和Spring Data JPA之间的区别。

什么是Java Persistence API

Java Persistence API提供了一个规范,用于将数据从Java对象持久化,读取和管理数据库中的关系表。

什么是Hibernate框架?

Hibernate是Java环境的对象关系映射解决方案。对象关系映射或ORM是将应用程序域模型对象映射到关系数据库表的编程技术。Hibernate是一个基于Java的ORM工具,它提供了一个框架,用于将应用程序域对象映射到关系数据库表,反之亦然。

Hibernate提供了Java Persistence API的参考实现,使其成为具有松散耦合优势的ORM工具的绝佳选择。

JPA是一个规范,Hibernate是一个JPA提供者或实现。

什么是Spring Data JPA?

Spring Data是 Spring Framework
的一部分  。Spring Data存储库抽象的目标是显着减少为各种持久性存储实现数据访问层所需的样板代码量。

Spring Data JPA不是JPA提供者。它是一个库/框架,它在我们的JPA提供程序(如Hibernate)的顶部添加了一个额外的抽象层。

现在,您熟悉JPA,Hibernate和Spring Data JPA的定义。现在,让我们讨论Hibernate和Spring Data JPA之间的区别。

Hibernate和Spring Data JPA有什么区别?

Hibernate是一个JPA实现,而Spring Data JPA是一个JPA数据访问抽象。Spring Data提供了GenericDao 自定义实现的解决方案  。它还可以通过方法名称约定代表您生成JPA查询。

使用Spring Data,您可以使用Hibernate,Eclipse Link或任何其他JPA提供程序。一个非常有趣的好处是 您可以使用@Transactional注释以声明方式控制事务边界

Spring Data JPA不是一个实现或JPA提供程序,它只是一个抽象,用于显着减少为各种持久性存储实现数据访问层所需的样板代码量。

Hibernate提供了Java Persistence API的参考实现,使其成为具有松散耦合优势的ORM工具的绝佳选择。

请记住,Spring Data JPA始终需要JPA提供程序,如 Hibernate
或Eclipse Link。

原文 

https://www.jdon.com/51332

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Hibernate和Spring Data JPA有什么区别?

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址