通过从Parent对象调用getChild()来加载子对象(参见下面的示例)。此时hibernate知道父/子关系。如何使用此信息以编程方式恢复双向关系(比如在子级中设置父级字段)?
@Entity
public class Parent {
@Id
private String id;
@OneToOne(fetch=FetchType.LAZY)
private Child child;
public Child getChild(){
return child;
}
}
@Entity
public class Child {
@Id
private String id;
@Transient
private Object parent;
public Object getParent(){
return parent;
}
}
动机:可以从不同的类引用子,但在运行时只允许一个父对象。使用“mappedby”将导致Child类中的多个“反向”字段。这不是所希望的,因为在运行时只能存在一个父对象。父对象的类型对于用例并不重要。
答案 0 :(得分:0)
使用@OneToOne中的mappedBy属性 设置属性mappedBy =“class ref”;
@OneToOne(mappedBy = "parent", fetch=FetchType.LAZY)
private Child child;