Java JPA拦截器/事件侦听器,不';不要冬眠

Java JPA拦截器/事件侦听器,不';不要冬眠,java,hibernate,orm,jpa,listener,Java,Hibernate,Orm,Jpa,Listener,我把它添加到我的实体中,但在实体加载中它似乎没有被调用 我在没有EJB的spring上下文上使用jpa 休眠3.2.7 我们已经在会话工厂的“entityInterceptor”中声明了一些hibernate拦截器(扩展EmptyInterceptor) 有可能混合使用这两种类型的拦截器吗 是否可以在没有EJB/EntityManager的情况下使用@PostLoad 另一个原因是?我认为没有EJB/EntityManager,EJB注释就无法工作。对于那些感兴趣的人,我从Steve Ebers

我把它添加到我的实体中,但在实体加载中它似乎没有被调用

我在没有EJB的spring上下文上使用jpa 休眠3.2.7

我们已经在会话工厂的“entityInterceptor”中声明了一些hibernate拦截器(扩展EmptyInterceptor)

有可能混合使用这两种类型的拦截器吗

是否可以在没有EJB/EntityManager的情况下使用@PostLoad


另一个原因是?

我认为没有EJB/EntityManager,EJB注释就无法工作。

对于那些感兴趣的人,我从Steve Ebersole那里得到了一个回复,似乎当你创建自己的hibernate SessionFactory时,如果不在该会话工厂中注册相应的EventListener,则无法使用诸如@PostLoad之类的JPA注释。。。 实际上,实体管理器系统为您完成了所有这些工作

因此,我想我必须将EJB3PostLoadEventListener添加到会话工厂


但在我的例子中,我必须使它仅对我的子项目可用,我将使用hibernate拦截器,因为它们可以是会话范围的,并且还将该拦截器注入到重写的spring HibernateTemplate声明中

如果您想要JPA功能,为什么不首先使用hibernate entitymanager呢?如果你绝对需要的话,你仍然可以使用专有的hibernate工具…因为我们在一个大型项目上工作,我不是architech,我不能轻易地自己改变核心的东西
@PostLoad 
public void initThing() { ... }