1. 程式人生 > >表與表之間實體類上欄位上的註解

表與表之間實體類上欄位上的註解

一對一
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "THEMEID")
@Cascade({CascadeType.ALL})
private BasTsTheme basTsTheme;

一對多
@OneToMany( fetch = FetchType.LAZY, mappedBy = "basTsGrade")
@Cascade({CascadeType.DELETE_ORPHAN,CascadeType.SAVE_UPDATE})
private Set<BasTsUser> basTsUsers = new HashSet<BasTsUser>(0);


多對一
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GRADEID")
@Cascade({CascadeType.SAVE_UPDATE})
private BasTsGrade basTsGrade;


多對多
@ManyToMany( fetch = FetchType.LAZY, mappedBy = "basTsRoles")
@Cascade({CascadeType.DELETE_ORPHAN,CascadeType.SAVE_UPDATE})
private Set<BasTsUser> basTsUsers = new HashSet<BasTsUser>(0);

@ManyToMany( fetch = FetchType.LAZY)
@JoinTable(name = "BAS_TR_ROLEUSER", schema = "DESK", joinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ROLEID", nullable = false, updatable = false) })
@Cascade({ CascadeType.DELETE_ORPHAN, CascadeType.SAVE_UPDATE })
private Set<BasTsRole> basTsRoles;

簡單解釋下,在一對一關係中,每個使用者只有一個主題,通過themeid關聯
一對多和多對一結合起來看,grade即會員等級,一個會員只能有一個等級,一個等級有多個會員。
多對多是典型的使用者和角色關係,不解釋