Hibernate二级缓存和关联

时间:2010-11-14 21:48:30

标签: hibernate annotations ehcache second-level-cache

我的班级电影与导演有@OneToOne关系,与演员有@ManyToMany关系。所有这些类(Movie,Director和Actor)类都以只读模式缓存,集合也是如此。

我使用Hibernate的二级缓存和ehCache。

关系是LAZY,所以我有以下问题:如果一个Movie在不调用getDirector()或getActors()的情况下进入二级缓存,如果在没有Session.merge的情况下调用这些方法,我们将得到一个LazyInitializationException (),这对我来说不是一个选择。

我想如果我可以挂钩事件“put in cache”并调用我的懒惰方法,我的问题就会解决。有这样的事吗?我不愿意编写自定义基础结构代码,因为根据应用程序等打开/关闭二级缓存。

我错过了其他什么吗?

感谢。

1 个答案:

答案 0 :(得分:0)

如果缓存关系,那么让他们获取LAZY会获得什么?只需将它们转为EAGER即可解决您的问题。