java - @Transactional 内的无状态 session

标签 java spring hibernate spring-transactions stateless-session

我目前在无状态 session 中执行事务时遇到问题。

在服务层上,我使用@Transactional注释定义了事务(这是必需的,因为这些方法需要位于一个事务中)。 在该方法中,我创建了新的实体Car。 但是,我还必须在无状态 session 内的底层方法中创建自定义事务(它是为了性能而完成的),如下所示

StatelessSession session = getSessionFactory().openStatelessSession();
Transaction transaction = session.beginTransaction()

// create and setup CarRequirements entity

transaction.commit;

问题是实体 CarRequirements 具有实体 Car 的外键。因此,当我尝试提交底层事务时,会发生异常,因为显然 Car 实体尚未提交到数据库。

有没有办法推迟底层事务的提交或强制提交Car实体?

最佳答案

要么定义 CarRequirements 和 Car 之间的关系(级联) 或者您必须先保存汽车,然后保存 CareRequirements

关于java - @Transactional 内的无状态 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45731487/

相关文章:

java - Spring 和 WildFly Infinispan 缓存查找

java - 我们可以将应用程序上下文 get bean 类型转换为 Class<?>

java - 以 Integer[] 作为键搜索 Hashmap

java - 在 Web 容器内部,如何创建/管理具有相同引用变量的同一类的多个对象

java - 在 `value` 标签内执行表达式

java - embeddedId 和 session.load

java - Spring数据JPA更新多行

spring - 为什么我需要在我的 Spring 应用程序上下文中定义一个 Hibernate-JPA 供应商适配器?

Java 科学计算器正则表达式

java - Java 新手请help.form n servlet