在休眠或OpenJPA中,如果我做了FetchType = EAGER,我冒着加載不必要的數據的風險,並且會影響性能。 如果我做LAZY加載,我冒着N + 1的風險。 是否有任何指導什麼時候使用獲取模式?如何判斷EAGER和懶惰在Hibernate中的加載
0
A
回答
0
我同意@ D.R建議的一般準則:
懶裝載一方面意味着內存節省,從另一方面暗示增加的查詢數量的分貝。 渴望加載是相反。
你必須選擇你的毒藥。
此外,我認爲值得一提的是可以用hibernate fetch profiles(如果您打算使用休眠)覆蓋獲取策略。當預定義的懶惰方法不夠靈活時,這是一個很好的解決方案。 使用提取配置文件,您可以讓hibernate以「不同的方式」爲該事務獲取對象。當你不得不懶惰地獲得物體時非常方便,但有時你需要一種不同的方法。
如果您採用二級緩存優化,則應該檢查兼容性,因爲當前提取配置文件實現支持JOIN策略。
0
一般來說,您應該在您立即需要數據的所有情況下使用提前取回。如果遇到N + 1問題,只需重新執行查詢並進行預先提取。
當然還有更多意見對於更具體的情況,但是,我猜,SO並不是討論事情的最佳地點。
相關問題
- 1. Hibernate懶惰加載HQL
- 2. JPA Hibernate集合不是懶惰加載
- 3. Spring + Hibernate懶惰加載錯誤
- 4. 你能證明Hibernate懶惰加載?
- 5. Yii Eager載入中... loading懶惰載入中
- 6. 懶惰加載不加載
- 7. 懶惰加載flexslider
- 8. GWT懶惰加載
- 9. Android懶惰加載
- 10. 懶惰加載Ninject
- 11. Autofac懶惰加載
- 12. Eclipselink懶惰加載
- 13. 懶惰的圖像加載和卸載
- 14. 懶惰在Blogger上加載
- 15. Hibernate的急切和懶惰加載與實體
- 16. 在實體框架中加載懶惰集合太懶惰
- 17. 語言評估問題:Eager Vs.懶惰
- 18. 懶惰加載和懶惰評估有什麼區別?
- 19. 懶惰加載和卸載圖像
- 20. 在ActiveRecord中懶惰地加載列
- 21. 懶惰在ASP.NET中加載圖像
- 22. 學說懶惰加載
- 23. 混淆懶惰加載
- 24. 是ZODB PersistentLists懶惰加載?
- 25. Android listview懶惰加載
- 26. 動畫懶惰加載ArrayAdapter
- 27. 懶惰加載視圖
- 28. 懶惰加載CSS與js
- 29. jQuery mobile listviews懶惰加載
- 30. 用webpack懶惰加載angular2