【问题标题】:openjpa: A new entity with an association to a detached objectopenjpa:与分离对象关联的新实体
【发布时间】:2012-09-20 08:12:03
【问题描述】:

我有两个对象。安排和参与方。 Arrangement 和 InvolvedParty 之间存在关联。

当我创建我的第一个 Arrangement 并将 InvolvedParty 附加到它时,在坚持期间没有问题。 当我创建第二个安排并从数据库中获取先前存储的 InvolvedParty 以将其附加到第二个安排时,持久性将不起作用。

这是错误: [20/09/12 9:53:40:998 CEST] 00000020 RegisteredSyn E WTRN0074E:从 before_completion 同步操作中捕获的异常:org.apache.openjpa.persistence.EntityExistsException:尝试保留分离的对象“com.xxx.crs.model .involvedparty.InvolvedParty-com.xxx.crs.model.involvedparty.InvolvedParty-101”。如果这是一个新实例,请确保任何 versino 和/或自动生成的主键字段在持久化时为空/默认值。 FailedObject:com.xxx.crs.model.involvedparty.InvolvedParty-com.xxx.crs.model.involvedparty.InvolvedParty-101

现在我该怎么办?安排是一个新对象,所以考虑到我应该坚持它。但是安排的一项是InvolvedParty,它是一个分离的对象,所以我应该合并吗?虽然感觉很矛盾。

【问题讨论】:

    标签: merge associations openjpa persist


    【解决方案1】:

    确保在用于持久化 Arrangement 的同一事务中从数据库中获取现有的 InvolvedParty。如果您在两个单独的操作中执行这些操作,则持久性上下文会在第一个事务完成时结束,并且 OpenJPA 会将 InvolvedParty 视为一个分离的对象。

    有关详细信息,请参阅 OpenJPA 手册中的 Persistence Context

    【讨论】:

      猜你喜欢
      • 2013-01-29
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多