@OneToMany(fetch=FetchType,cascade=CascadeType)
可選
@OneToMany描述一個一對多的關聯,該屬性應該為集體類型,在數據庫中並沒有實際字段.
fetch:表示抓取策略,默認為FetchType.LAZY,因為關聯的多個對象通常不必從數據庫預先讀取到內存
cascade:表示級聯操作策略,對於OneToMany類型的關聯非常重要,通常該實體更新或刪除時,其關聯的實體也應當被更新刪除
例如:實體User和Order是OneToMany的關系,則實體User被刪除時,其關聯的實體Order也應該被全部刪除
示例:
@OneTyMany(cascade=ALL)
public List getOrders() {
return orders;
}
//工作組集合
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="farm")
private Set<WorkTeam> workTeams= new HashSet<WorkTeam>();
我原來用的fetch=fetch=FetchType.EAGER 這種方式 是查一這個實體對象的時候 一同查詢了多個類,
這導致 我只想查一實體列表的時候 用了left out join 連接多這個表,
所以多了重復的記錄
所以錯了
所以我想改成默認的 lazy方式 看看行不行
http://www.iteye.com/topic/408701
而當用到ManyToOne的時候 用eager,就是說我查 多 實體的時候 ,也關聯查 一實體 了 ,這是業務需要的
http://www.iteye.com/topic/408701
http://junzinevercry.iteye.com/blog/746580