2015-06-26 60 views
0

這是Spring MVC與Hibernate/JPA的一個衆所周知的問題,「未能懶惰地初始化角色集合no session或會議閉幕「。請參閱Hibernate: failed to lazily initialize a collection of role, no session or session was closedSpring MVC的一個很好的解決方案「未能懶惰地初始化角色集合沒有會話或會話被關閉」

許多帖子建議使用EAGER來代替LAZY,它可以工作但性能已經丟失。這個問題有沒有很好的解決方案?

謝謝。

回答

1

當您在DAO內部進行事務管理時,通常會發生這種情況。最好的做法是在DAO之上編寫一個服務,並完成服務中的所有獲取/填充。並在服務中應用交易。

這樣,您可以屏蔽正在訪問的數據庫會話的域模型,並且您的服務根據它應該執行的操作決定是否加載子模塊。

相關問題