我有 3 个类,一个超类和两个子类。每个子类都有另一个子类的集合,我想映射它们之间的一对多关系。我的超类是person,子类称为referrer和broker。我想表达的关系是一个referrer可以有很多broker,一个broker可以有很多referrer。
@Component
@Entity
@Table(name="Referrer")
@PrimaryKeyJoinColumn(name="rowID")
public class Referrer extends Person implements Serializable{
private static final long serialVersionUID = 972571370198603227L;
@Column(name="rowId")
private String referrerID;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn
private List<Broker> brokers = new ArrayList<Broker>();
经纪人看起来像这样:
@Component
@Entity
@Table(name="Broker")
@PrimaryKeyJoinColumn(name="rowID")
public class Broker extends Person implements Serializable {
private static final long serialVersionUID = 5648239413711716027L;
@Column(name="AdminID", nullable=true)
private String adminID;
@Column
private boolean isAdmin = false;
@OneToMany(cascade=CascadeType.ALL, mappedBy="referrer")
private List<Referrer> referrers = new ArrayList<Referrer>();
Broker 的主键应该是包含在 Person 超类中的名为 rowID 的字段。
我真的被困住了,所以任何帮助将不胜感激。