在JPA环境中声明Hibernate事件监听器 [英] Declaring Hibernate event listeners in a JPA environment

查看:188
本文介绍了在JPA环境中声明Hibernate事件监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在开发一个在Java EE 5环境中开发的项目,



我想知道我如何声明一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆