【发布时间】:2011-05-09 22:57:22
【问题描述】:
我的类 Movie 与 Director 具有 @OneToOne 关系,与 Actor 具有 @ManyToMany 关系。所有这些类(电影、导演和演员)类都以只读模式缓存,集合也是如此。
我使用 Hibernate 的二级缓存和 ehCache。
关系是 LAZY 的,所以我有以下问题:如果电影在没有调用 getDirector() 或 getActors() 的情况下进入二级缓存,如果随后在没有 Session.merge 的情况下调用这些方法,我们将得到一个 LazyInitializationException (),这不是我的选择。
我想如果我可以挂钩事件“放入缓存”并调用我的惰性方法,我的问题就会得到解决。有这样的事吗?我不愿意编写自定义基础架构代码,因为二级缓存会根据应用程序等打开/关闭。
我还错过了什么吗?
谢谢。
【问题讨论】:
标签: hibernate annotations ehcache second-level-cache