【发布时间】:2015-10-01 10:35:42
【问题描述】:
我正在从事 JPA 项目,我需要你的帮助。
我有两个类,“Person”和“Leader”,它们继承自 Person。
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Person implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(unique = true)
private String personId;
}
和
@Entity
public class Leader extends Person implements Serializable {
private List < Person > listTeam;
public void addPersonInTeam(Person e) {
listTeam.add(e);
}
}
我的问题是,在班级领导者的私有列表 listTeam 之前,我是否需要有 JPA 注释 @OneToMany 或其他东西?
非常感谢
【问题讨论】:
-
我建议阅读这个stackoverflow.com/questions/2883033/…,因为我看到的问题比列表上缺少注释要多得多。如果没有帮助,请留言。
-
你的意思是我需要把 Person 作为抽象?或添加@MappedSuperClass?但在这种情况下,人不会是持久的,尽管我需要它是持久的。非常感谢您的帮助。
-
是的,您当然需要 OneToMany 或 ManyToMany 注释。 Hibernate 不会猜测关联对您来说是什么。
-
您确定要扩展吗?在您的情况下,也许一些简单的布尔值
isLeader就足够了? -
所以你建议我只有包含布尔 isLeader 和 List
的类 Person 如果该人不是领导者,则应该为空?