我的班级 Movie 与 Director 具有 @OneToOne 关系,与 Actor 具有 @ManyToMany 关系。所有这些类(电影、导演和演员)类都以只读模式缓存,集合也是如此。
我将 Hibernate 的二级缓存与 ehCache 一起使用。
这些关系是 LAZY 的,所以我有以下问题:如果电影在没有调用 getDirector() 或 getActors() 的情况下进入二级缓存,如果随后在没有 Session.merge() 的情况下调用这些方法,我们将得到一个 LazyInitializationException,这不是我的选择。
我想如果我可以挂钩事件“放入缓存”并调用我的惰性方法,我的问题就会得到解决。有这样的事吗?我不愿意编写自定义基础架构代码,因为二级缓存会根据应用程序等打开/关闭。
我还缺少其他东西吗?
谢谢。