【问题标题】:Saving Multiple New Entities in a Single Hibernate Transaction在单个 Hibernate 事务中保存多个新实体
【发布时间】:2012-11-28 15:18:59
【问题描述】:

我正在尝试创建一个 EJB 服务方法,该方法创建两个新实体对象并将它们相互关联并与现有实体关联。类之间的关系如下所示:

ClassA 1:N ClassB
ClassA 1:N ClassC
ClassB 1:N ClassC

目前,所有关系都是双向的,我将每个关系的 CascadeType 设置为“ALL”。将使用实体管理器查找 ClassA 的实例。 ClassB 和 ClassC 是作为此方法的一部分创建的新实例。我要做的是建立关系,保留所有更改,并返回更新后的 ClassC 实例。问题是,当我实际尝试提交事务时,我总是会收到这样的错误:

"(javax.resource.ResourceException: 事务未激活: tx=TransactionImple )"

有没有人知道如何做这样的事情?

【问题讨论】:

  • 你能分享你的保存方法代码吗?看起来事务未创建或方法未标记为@transactional。
  • 在方法结束时,我正在做这样的事情:instanceC = entityManager.persist(instanceC);返回实例C;

标签: java hibernate persistence ejb-3.0 cascade


【解决方案1】:

您可能从一个事务方法(用@TransactionAttribute 注释)中发现了一个错误,该方法已将事务标记为已回滚,因此当前事务在您提交时不再有效(已被容器回滚) .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 2019-04-05
    • 2011-03-29
    • 2015-01-06
    • 2015-12-23
    • 2014-09-06
    • 2015-10-31
    • 1970-01-01
    相关资源
    最近更新 更多