java - 在 JPA 环境中声明 Hibernate 事件监听器

标签 java hibernate jpa events listener

大家好,

我正在从事一个在 Java EE 5 环境中开发的项目。我想知道如何声明 Hibernate 事件监听器,以便在执行 CRUD 操作时通知我。

我读到我必须在 Hibernate 配置文件 *cfg.xml 中声明如下内容:

<hibernate-configuration>
    <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 中:

<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>

Hibernate EntityManager docs查看“表 2.1. Hibernate 实体管理器特定属性”以了解所有适用的属性。

关于java - 在 JPA 环境中声明 Hibernate 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363236/

相关文章:

Java Wildfly-Swarm : How to use JDBC with SQL Server (T-SQL)

java - 插入、更新和删除语句的报告是 JPA 标准,还是仅 Hibernate 特定的?

java - 无法使用 webdriver 单击元素

java - 我如何向 Maven 询问默认存储库的列表?

java - Android : com. google.maps :google-maps-services:0. 1.7 给出构建错误

hibernate - JSF View 不从数据库中恢复数据

java - 为什么我的事务在 MySQL 中死锁?

java - 超过 Java 阶乘的 Kattis 时间限制

java - Hibernate 连接超时 - java.io.EOFException

java - 不支持从 varbinary 到 BLOB 的转换