我使用Spring的HibernateTemplate保存实体,我也添加了这样的回调方法
@PrePersist
public void prePersist() {
setCreateDate(new Date());
}
但是当我调用saveOrUpdate()方法时,我发现没有调用这个回调注释。
public void persist(Object entity) {
hibernateDaoSupport.getHibernateTemplate().saveOrUpdate(entity);
}
我发现有些帖子说只有使用EntityManager才会调用这些回调注释方法,对不对?如果没有,为什么我的@PrePersist没有被调用。
非常感谢任何人给我一个调查问题的方向。
答案 0 :(得分:4)
是的,只有在使用EntityManager时才会调用EntityManager事件侦听器方法。如果你想使用JPA而不是原始的Hibernate,你应该在Spring中使用JPA template而不是HibernateTemplate。