Vis*_*ish 5 java orm hibernate
一旦Hibernate从数据库加载对象,我想初始化持久对象的类成员.
我怎样才能做到这一点 ?
更具体地说:在下面的持久化对象中,我想初始化date的时区
class Schedule {
Calendar date
TimeZone tz;
}
Run Code Online (Sandbox Code Playgroud)
我无法在构造函数中执行此操作,因为hibernate将使用setter来初始化对象.我不能在setter中这样做,因为我不能依赖于初始化的顺序.
您需要注册一个post-load事件监听器; 它将在您的对象加载后调用,因此您可以执行任何必要的后处理.
如果您正在使用JPA(Hibernate EntityManager),您只需编写一个方法并使用它进行注释即可@PostLoad.
否则,对于核心Hibernate,您需要实现PostLoadEventListener并在您的配置中声明它.
| 归档时间: |
|
| 查看次数: |
4722 次 |
| 最近记录: |