2009-10-15 19 views
0

我使用Spring的HibernateTemplate來保存實體叫,我還可以添加回調方法這樣是Hibernate的實體回調方法僅使用EntityManager的

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

,但我發現這個回調註解是不叫的時候我叫saveOrUpdate () 方法。

public void persist(Object entity) { 
    hibernateDaoSupport.getHibernateTemplate().saveOrUpdate(entity); 
    } 

我發現有些帖子說只使用EntityManager會調用這些回調註釋方法,是不是?如果沒有,爲什麼我的@PrePersist沒有被調用。 有沒有人可以給我一個方向來調查這個問題,非常感謝。

回答

3

是的,EntityManager事件監聽器方法僅在您使用EntityManager時被調用。如果您想使用JPA而不是原始Hibernate,則應該使用JPA template而不是Spring中的HibernateTemplate。

+0

是否存在與'@ PrePersist'相當的Hibernate,可以與'HibernateTemplate'一起使用? – 2010-03-10 19:42:04

相關問題