我目前在无状态 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/