我想将现有的JPA实体拆分为POJO超类和实体子类。我想把POJO超类放到一个库项目中,这个项目可以被其他项目引用,但不使用JPA。如何在实体的子类中设置“mappedBy”?
我的旧/现有的代码成功申报这样的一对多关系:
@Entity
public class Person {
@OneToMany(mappedBy="petOwner")
public List<Pet> pets = new ArrayList<>();
}
我想将它拆分成这个超:
public class CommonPerson {
public List<Pet> pets = new ArrayList<>();
}
问题:怎么可能适当jpa子类的样子?我可以在子类中设置mappedBy
吗?
我的尝试:
@Entity
// not possible: @AttributeOverride (has no "mappedBy" or "OneToMany")
// not possible: @AssociationOverride (has no "mappedBy" or "OneToMany")
public class JpaPerson extends CommonPerson {
}
我使用Hibernate的JPA API 2.1。
从来没有尝试过,但它应该工作,如果你重写getter并注释。 –
请记住,如果您计划混合字段和属性访问类型,则需要指定使用@Access注释。 –