2010-11-14 136 views
1

我的課Movie與Director有@OneToOne關係,與Actor有@ManyToMany關係。所有這些類(Movie,Director和Actor)類都以只讀模式進行緩存,集合也是如此。休眠二級緩存和關聯

我使用Hibernate的二級緩存與ehCache。

這些關係是懶惰的,所以我有以下問題:如果Movie沒有調用getDirector()或getActors()使其進入二級緩存,如果隨後調用這些方法而沒有Session,我們將得到一個LazyInitializationException。合併(),這不是我的選擇。

我想我的問題將被解決,如果我可以鉤住事件「放入緩存」並調用我的懶惰方法。有這樣的事嗎?我很不情願編寫自定義基礎結構代碼,因爲二級緩存根據應用程序開啓/關閉等。

我是否缺少其他內容?

謝謝。

回答

0

如果這些關係被緩存,那麼通過讓他們獲取LAZY會獲得什麼?簡單地把它們變成EAGER,你的問題就會解決。