java - 将 @Transactional 与 hibernate 一起使用

标签 java spring hibernate transactions transactional

我正在使用 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/

相关文章:

java中的java.lang.NullPointerexception

spring - 为什么我们声明</context :component-scan>separately in applicationContext. xml和dispatcher-servlet.xml

java - 使用 SimpleJdbcInsert 和 Sybase 检索生成的 key 时出现问题

hibernate - 如何使用 Joda Time 查询 HQL (Hibernate) 中的日期?

java - hibernate native sql查询返回

java - 如何让机器人按住鼠标按钮一段时间?

java - 命名单元和集成测试方法的最佳实践?

java - 掌握java并发编程

java - 在非实体上调用 Spring JPA postProcessBeforeDestruction

java - 通过HQL从两个表中获取数据并插入到一个表中