是否只使用EntityManager调用Hibernate实体回调方法

时间:2009-10-15 00:55:14

标签: hibernate callback entity

我使用Spring的HibernateTemplate保存实体,我也添加了这样的回调方法

@PrePersist
  public void prePersist() {
    setCreateDate(new Date());
  }

但是当我调用saveOrUpdate()方法时,我发现没有调用这个回调注释。

  public void persist(Object entity) {
    hibernateDaoSupport.getHibernateTemplate().saveOrUpdate(entity);
  }
我发现有些帖子说只有使用EntityManager才会调用这些回调注释方法,对不对?如果没有,为什么我的@PrePersist没有被调用。 非常感谢任何人给我一个调查问题的方向。

1 个答案:

答案 0 :(得分:4)

是的,只有在使用EntityManager时才会调用EntityManager事件侦听器方法。如果你想使用JPA而不是原始的Hibernate,你应该在Spring中使用JPA template而不是HibernateTemplate。