我正在使用 hibernate 作为 REST API。现在所有事务都是通过显式调用 beginTransaction 和 transaction.commit 来处理的。如果失败,事务将回滚。我希望使用 @Transactional 而不是所有 beginTransactions 和提交事务。有人可以告诉我如何将 @Transactional 集成到我的 hibernate 状态中吗?我正在使用mysql来查询数据库。
最佳答案
您可以使用@Transactional注释您的查询方法,以便在方法结束时打开、提交和关闭事务。
请注意隔离级别 ( https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/annotation/Transactional.html#isolation-- ),因为它指示 Spring 何时为您的事务创建新 session ,或仅使用已打开的 session 。
当您在方法上引发异常时,事务会自动回滚,这样就很好了:)
关于java - 将 @Transactional 与 hibernate 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376324/