Hibernate注解 @OneToMany 相關屬性


@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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM