我已经看过很多关于同一论点的问题,但是我没有找到任何解决方案。
我有两个继承同一个类的类。
基本上:
@MappedSuperclass
public abstract class MyGeneric {
private String idGeneric;
public String getIdGeneric() {
return idGeneric;
}
public void setIdGeneric(final String idGeneric) {
this.idGeneric = idGeneric;
}
}
@Entity
public class Child extends MyGeneric {
// [some fields]
}
@Entity
public class Parent extends MyGeneric {
@OneToOne(mappedBy = "idGeneric")
private Child child;
}
但是该应用程序无法运行,因为:
org.hibernate.AnnotationException: Unknown mappedBy in: mypackage.Parent.child, referenced property unknown: mypackage.Child.idGeneric
我不明白为什么它可以找到属性
Child.idGeneric
,因为它存在。谢谢
最佳答案
由于您没有映射关联的反面,因此不能使用mappedBy。
将您的映射替换为以下内容:
@OneToOne
@JoinColumn(name = "idGeneric")
private Child child;