【发布时间】:2015-08-21 00:48:44
【问题描述】:
我正在从 UI 发送一个对象。该对象将使用对现有子对象的引用来创建。
这是这种关系的简单说明。
class ParentEntity {
@Id
Long id;
@ManyToOne(fetch = FetchType.LAZY)
private ChildEntity child;
}
class ChildEntity {
@Id
Long id;
}
ChildEntity child = new ChildEntity();
child.setId(1);
//parentEntity is created based on data sent from UI
parentEntity.setChild(child);
当我保存这个对象时,Hibernate 给了我“org.hibernate.TransientPropertyValueException: object references an unsaved transient instance”。
我不用去救孩子,因为我根本不换孩子。只需要将孩子的 id 保存在父表中即可。
我尝试使用几个 CascadeType,但没有一个起作用。
【问题讨论】:
-
我也不想从 db 中选择 child 并设置为 parent ,只是为了保存而不会出错。如果必须,我会的。但是....