多對多、單向一對多做ORM時最好用基于连接表的方式
作者:xyzround
?
?? ORM中有兩種關聯關係(多對多和單向一對多),需要使用基于連接表的映射方式才能使關係數據庫表的外鍵關聯顯得更規範。
?
以下例子用JPA註解的映射來實現這兩種關係:
?
單向一對多:
?
@Entity
@Table(name="Tb_BiddingDocument")
public class BiddingDocument implements Serializable {
......
@OneToMany
@JoinTable(name="Tb_BiddingDocument_ApprovalFlow",?
joinColumns=@JoinColumn(name="bi_biddingDocument"),
inverseJoinColumns=@JoinColumn(name="bi_approvalFlow"))
private Set<ApprovalFlow> approvalFlows;
.....
}
?
?
?
多對多:
?
@Entity
@Table(name = "Tb_FunctionUnit")
public class FunctionUnit implements Serializable {
......
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name="Tb_FunctionAssociation",joinColumns=@JoinColumn(name="fpu_cid"),inverseJoinColumns=@JoinColumn(name="fpu_pid"))
private Set<FunctionUnit> parentUnit;
?
@ManyToMany(mappedBy="parentUnit",fetch=FetchType.LAZY)
@OrderBy(value = "id ASC") ?
private Set<FunctionUnit> childrenUnit;
?
......
}
?
?
總結
以上是生活随笔為你收集整理的多對多、單向一對多做ORM時最好用基于连接表的方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外媒:三星S23 Ultra是安卓阵营的
- 下一篇: http文件头详解