gpt4 book ai didi

java - 如何在实体的子类中设置 "mappedBy"?

转载 作者:太空宇宙 更新时间:2023-11-04 13:50:32 24 4
gpt4 key购买 nike

我想将现有的 JPA 实体拆分为 POJO 父类(super class)和实体子类。我想将 POJO 父类(super class)放入一个库项目中,该项目可以被其他不使用 JPA 的项目引用。

我的旧/现有代码成功声明了一个 OneToMany 关系,如下所示:

@Entity
public class Person {
@OneToMany(mappedBy="petOwner")
public List<Pet> pets = new ArrayList<>();
}

我想将它分成这个父类(super class):

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。

最佳答案

谢谢@petros-splinakis!

我现在正在使用这样的东西:

@Entity
@Access(AccessType.PROPERTY)
public class JpaPerson extends CommonPerson {

@OneToMany(mappedBy="petOwner")
public List<Pet> getPets() {
return pets;
}

public void setPets(List<Pet> pets) {
this.pets = pets;
}

}

它就像一个魅力!

关于java - 如何在实体的子类中设置 "mappedBy"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30330723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com