在JPA环境中声明Hibernate事件监听器 [英] Declaring Hibernate event listeners in a JPA environment
问题描述
我想知道我如何声明一个Hibernate事件监听器,以便在执行CRUD操作时可以被通知。
我已经看到我必须在Hibernate中声明配置文件 * cfg.xml
如下所示:
< hibernate构型>
< session-factory>
...
< event type =load>
< listener class =com.eg.MyLoadListener/>
< listener class =org.hibernate.event.def.DefaultLoadEventListener/>
< / event>
< / session-factory>
< / hibernate-configuration>
问题是我在项目中没有这样的文件。我们使用JPA(以Hibernate为底层实现)。你知道我是否需要创建这个特定的文件?如果是,我应该在哪里?
提前感谢。
在您的persistence.xml中:
code><持久性>
< persistence-unit name =myPersistenceUnit>
...
< snip />
...
< properties>
< property name =hibernate.ejb.event.loadvalue =com.eg.MyLoadListener,org.hibernate.event.def.DefaultLoadEventListener/>
< / properties>
< / persistence-unit>
< / persistence>
在 Hibernate EntityManager文档查看所有适用属性的表2.1。Hibernate实体管理器特定属性。
Hy guys,
I am working on a project developed in Java EE 5 environment. I want to know how I can declare a Hibernate event listener so that I can be informed when CRUD operation are performed.
I've read that I must declare in the Hibernate configuration file *cfg.xml
something like this:
<hibernate-configuration>
<session-factory>
...
<event type="load">
<listener class="com.eg.MyLoadListener"/>
<listener class="org.hibernate.event.def.DefaultLoadEventListener"/>
</event>
</session-factory>
</hibernate-configuration>
The problem is I don't have such a file in the project. We are using JPA (with Hibernate as the underlying implementation). Do you know if I need to create that specific file? If yes where should I put it?
Thanks in advance.
In your persistence.xml:
<persistence>
<persistence-unit name="myPersistenceUnit">
...
<snip/>
...
<properties>
<property name="hibernate.ejb.event.load" value="com.eg.MyLoadListener,org.hibernate.event.def.DefaultLoadEventListener"/>
</properties>
</persistence-unit>
</persistence>
In the Hibernate EntityManager docs look at "Table 2.1. Hibernate Entity Manager specific properties" for all applicable properties.
这篇关于在JPA环境中声明Hibernate事件监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!