我有一个带有 objectdb 嵌入式数据库的 Spring Boot 应用程序。
我正在手动处理连接和事务操作,如http://www.objectdb.com/java/jpa/persistence/overview中所述
下面是我正在使用的示例代码:(取自 objecdb 文档):
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("myDbFile.odb");
EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
// Operations that modify the database should come here.
em.getTransaction().commit();
}
finally {
if (em.getTransaction().isActive())
em.getTransaction().rollback();
}
它可以工作,但是代码变得很丑,因为我不得不使用 try catch finally 块来正确关闭连接。
我想重构我的应用程序,以便使用 @Transactional 方法在 JpaRepositories 或 Dao 类中完成数据库操作(如http://spring.io/guides/gs/accessing-data-jpa/中所述)
我在网上进行了研究,但找不到任何有效的解决方案。
我正在寻找的是一个非常简单的 Spring Boot 示例应用程序,其中包含:
- spring-boot-starter-数据-jpa
- 对象数据库(嵌入式)
- 马文
- 使用基于注释的配置(无 xml 文件)
- 一个虚拟实体类(例如: Customer(id,firstname) )
- 具有 list() 和 @Transactional persist(Customer) 方法的 JpaRepository 类或 dao 类
注意:我已经尝试过这篇文章,但无法使其工作。