目前我的数据库中有两个表遭遇和推荐:
这两个表之间存在一对多的关系。目前,它们与外键链接在一起。现在我有
public class Encounter extends JPASupport implements java.io.Serializable {
@Column(name="referralid", unique=false, nullable=true, insertable=true, updatable=true)
public Integer referralid;
}
但我真正想要的是
public class Encounter extends JPASupport implements java.io.Serializable {
..........
@OneToMany(cascade=CascadeType.PERSIST)
public Set<Referrals> referral;
............
}
这样我最终可以这样做一个查询:
List<Encounter> cases = Encounter.find(
"select distinct p from Encounter p join p.referrals as t where t.caseid =103"
).fetch();
我如何告诉JPA即使我的外键和主键的非标准列名是我想要链接的对象模型,而不仅仅是键的整数值?
这有意义吗?
答案 0 :(得分:3)
我无法从你的例子中看出,推荐是否有很多遭遇,或者遇到过多次推介?你似乎来回走动。这将是每个推荐有很多遭遇:
public class Encounter extends JPASupport implements java.io.Serializable {
@ManyToOne
@JoinColumn(name="referralid", referencedColumnName="id",//otherstuff)
private Referral referral;
}
public class Referral extends JPASupport implements java.io.Serializable {
@OneToMany(cascade=CascadeType.PERSIST, mappedBy="referral")
private Set<Encounter> encounters;
}