@Transactional中的无状态会话

时间:2017-08-17 09:35:10

标签: java spring hibernate spring-transactions stateless-session

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

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

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

// create and setup CarRequirements entity

transaction.commit;

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

有没有办法推迟对Car实体进行底层交易或强制提交的提交?

1 个答案:

答案 0 :(得分:2)

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