有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

@Transactional内部的java无状态会话

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

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

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

// create and setup CarRequirements entity

transaction.commit;

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

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


共 (1) 个答案

  1. # 1 楼答案

    你可以定义CarRequirements和Car之间的关系(cascade) 或者你必须先救一辆车,然后再救一辆车