将Hibernate 4.3与SessionFactory配置为使用@PrePersist

将Hibernate 4.3与SessionFactory配置为使用@PrePersist,hibernate,Hibernate,我试着通过这个博客的步骤来做到这一点 但从Hibernate4.3开始,删除了Hibernate-entitymanager.jar中的事件包 另一方面,我一直在读有关拦截器和事件的书。 这仅仅是实现@PrePersist行为的两种方法吗?或者可以将@EntityListeners注释与SessionFactory?一起使用?。尽管我更喜欢win@PrePersist注释兼容性 提前感谢您。对于Hibernate 4,您可以使用integrator spi方法 尽管hibernate团队建议

我试着通过这个博客的步骤来做到这一点

但从Hibernate4.3开始,删除了Hibernate-entitymanager.jar中的事件包

另一方面,我一直在读有关拦截器和事件的书。

这仅仅是实现@PrePersist行为的两种方法吗?或者可以将@EntityListeners注释与SessionFactory?一起使用?。尽管我更喜欢win@PrePersist注释兼容性


提前感谢您。

对于Hibernate 4,您可以使用integrator spi方法

尽管hibernate团队建议使用JPA EntityManager,但有时您只想继续使用带有JPA注释的旧SessionFactory

  • 包括org.hibernate:hibernate entitymanager作为依赖项(假设您使用的是maven,pom代码段如下所示):
    org.hibernate


    你好,丹尼,我也在为同样的问题而挣扎。你找到关于jpa回调处理程序的任何信息了吗?嗨,dheerajarora,这样没什么可做的,@PrePersist只是与EntityManager兼容。为此,我不得不手动处理事务。关于。链接到外部站点将使此答案在链接断开后立即过期。这里是否有可能描述这种方法?只保留此处的链接作为额外参考。@langlan4744:我刚刚用Hibernate 4.2测试了这个问题,您不应该将org.Hibernate.jpa.event.spi.JpaIntegrator放在文件中,而应该将org.Hibernate.ejb.event.JpaIntegrator放在文件中。这个解决方案非常有效!谢谢这也适用于hibernate 5。还要确保导入的
    hibernate entitymanager
    版本与您的
    hibernate core
    版本相同,以避免出现神秘错误!