我有三个实体,如图所示。
我试图坚持这个伪代码
中显示的对象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中的任何内容。如何保持所有这些实体的持久性?
答案 0 :(得分:1)
我认为这会奏效:
EA = new EA
EB = new EB
EC = new EC
EB.link(EA)
persist(EB)
EC.link(EB.getEA())
persist(EC)
答案 1 :(得分:0)
我必须改变模型才能很好地工作。
伪代码是
EA=new EA
EB=new EB
EC=new EC
EB.link(EA)
EB.link(EC)
persist(EB)