当前位置: 首页 > 知识库问答 >
问题:

Spring+hibernate与Spring Data JPA:它们有什么不同吗?

莫飞翮
2023-03-14

虽然不是新手,但我正在尝试学习spring框架(又一次!)为了确定我真的明白这一点。我对核心Spring(DI)有相当的想法。现在,我将重点放在数据层上。

这些术语相同吗?即“Spring+Hibernate”是否与“Spring Data JPA”相同。如果不是,那么区别/相似点是什么?

我真的对这么多看似相似,但可能不同的术语/陈述(如上)感到困惑。

共有1个答案

鲁浩言
2023-03-14

正如您所说的,Spring-data-jpa提供了比传统的Spring-JPA集成更多的功能。通过JPA/Hibernate集成,您主要得到

  • 使用JPA/Hibernate事务进行声明式事务管理
  • 异常转换
  • JPA EntityManager或Hibernate SessionFactory作为可注射bean

使用Spring-data-jpa,您可以获得所有这些,此外(还有其他一些)

  • 仅接口的存储库,使用方法名自动推断查询
  • @query annotation以定义接口方法应返回的查询
  • 自动处理可分页查询
  • 标准crud存储库的基类

这只是一个微小的介绍。有关更多帮助,请阅读文档。

 类似资料:
  • 问题内容: 尽管不是新手,但我仍在尝试学习spring框架,以确保我真的了解这一点。我对核心Spring(DI)有一个很好的主意。现在,我专注于数据层。 我遇到过“ spring和hibernate ” 这个词。正如我可以解释的那样,这意味着将Spring框架与Hibernate一起用作ORM工具/ JPA提供程序。 现在,我遇到了“ Spring Data JPA ”。我在SO上澄清了有关Spr

  • 我正在学习Java EE和我下载的eclipse与glassfish相同。我看到了一些例子,也阅读了Oracle文档,以了解所有关于Java EE5的信息。连接到数据库非常简单。我打开了一个动态web项目,创建了一个会话EJB,我使用了EntityManager,并使用get方法可以访问存储的数据表。 对于下一个项目,我创建了一个简单类,然后访问一些DB表。我遇到的第一个问题是Persistenc

  • 我刚刚开始使用MongoDB,我注意到它使用BSON在内部存储数据。然而,关于什么是BSON以及如何在MongoDB中使用BSON,文档并不十分清楚。有人能给我解释一下吗?

  • 使用PEP 557,将数据类引入python标准库。 它们使用了装饰器,它们应该是“带默认值的可变名称耦合”,但我不太清楚这到底意味着什么,以及它们与普通类的区别。 python数据类到底是什么?什么时候最好使用它们?

  • 我想知道Spring boot JPA是如何使用hibernate的,Spring boot JPA和hibernate之间有什么关系吗?当我们使用boot jpa时,我们只是实现了org.springframework.data.jpa.repository.jparepository接口,可以使用与列名匹配的函数名编写查询,也可以编写自定义查询,那么hibernate在这里的角色是什么?我们怎

  • 问题内容: 我们知道根目录是/,根据posix,还有另一个目录//与/不同。当使用ls /和ls //时,输出与stat相同,但是,如果cd /和cd //则输出不同,尽管目录内容相同。那真的让我感到困惑。有人得到答案了吗? 问题答案: 从Bash常见问题解答: