首页 > 解决方案 > Spring PersistanceContext,EntityManager 并使用您的数据库

问题描述

我一直在开发一些基本的 Spring Web 应用程序,并且在正确管理我的数据库方面遇到了一些麻烦。从现在开始,我一直在使用基本的 JPA 存储库,经典的 save() 和 findById(long id) 已经为我完成了这项工作。但是最近我注意到,当我从数据库中获取一个对象并对其进行更改时,它不会被持久化。这导致我搜索问题标题中的所有内容。我的发现真的让我很困惑,所以也许有人可以为我澄清一下:

标签: javadatabasespringpersistence

解决方案


spring DAO 有四种使用方式:

  • JdbcTemplate + Spring DAO 支持(您将使用 JdbcTemplate 类)
  • Hibernate+ Spring DAO 支持(你将使用 SessionFactory 类)
  • JPA + spring DAO 支持(您将使用 EntityManager 类)
  • JPA + Spring Data(DAO 的高级抽象)

JDBC、Hibernate、JPA,是独立的技术。如果你会学习hibernate,你就会学会如何使用SessionFactoryjpa和相同EntityManagerSpring Data是 spring 的另一个抽象,用于访问数据库。

有关 spring DAO 支持的更多信息,请查看此处的文档


推荐阅读