0

在此处输入图像描述

如图所示,我有三个实体。

我正在尝试保留对象,如此伪代码所示

EA = new EA
EB = new EB
EC = new EC
EB.link(EA)
EC.link(EA)
persist(EB)
persist(EC)

持久化实体 B 时,实体 A 得到持久化,但实体 C 无法持久化,并出现以下错误:

java.lang.IllegalStateException: org.hibernate.TransientObjectException: object is an unsaved transient instance - save the transient instance before merging: 

我控制实体 C。我不想更改实体 A 和 B 中的任何内容。我怎样才能让所有这些实体都被持久化?

4

2 回答 2

1

我认为这会起作用:

EA = new EA
EB = new EB
EC = new EC
EB.link(EA)
persist(EB)
EC.link(EB.getEA())
persist(EC)
于 2012-11-27T18:07:38.477 回答
0

在此处输入图像描述

我必须更改模型才能使其正常工作。

伪代码是

EA=new EA
EB=new EB
EC=new EC
EB.link(EA)
EB.link(EC)
persist(EB)
于 2012-11-29T20:43:06.720 回答