Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过SpringXML配置文件配置JPA EntityListener?_Java_Spring_Jpa_Entity_Listener - Fatal编程技术网

Java 如何通过SpringXML配置文件配置JPA EntityListener?

Java 如何通过SpringXML配置文件配置JPA EntityListener?,java,spring,jpa,entity,listener,Java,Spring,Jpa,Entity,Listener,我有两个webapp,它们一起构建,分别提供对数据库的客户端和管理员访问 我想为一个给定的类注册两个JPA EntityListener,每个应用程序中一个。为此,我试图找到一种方法,通过配置每个应用程序的JPA上下文的SpringXML配置文件来注册侦听器。。。就是找不到任何办法 有人做过类似的事情吗 以下是XML配置文件的一部分: <bean id="tempEntityManagerFactory" class="org.springframework.orm.jpa.Local

我有两个webapp,它们一起构建,分别提供对数据库的客户端和管理员访问

我想为一个给定的类注册两个JPA EntityListener,每个应用程序中一个。为此,我试图找到一种方法,通过配置每个应用程序的JPA上下文的SpringXML配置文件来注册侦听器。。。就是找不到任何办法

有人做过类似的事情吗

以下是XML配置文件的一部分:

<bean id="tempEntityManagerFactory"
  class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
  p:dataSource-ref="tempDataSource" p:persistenceUnitName="tempJpa" >

  <property name="jpaVendorAdapter">
    <bean
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
      p:database="ORACLE" 
      p:databasePlatform="org.hibernate.dialect.Oracle9iDialect"
      p:showSql="false"   />
  </property>

  <property name="jpaProperties">
    <props>
      <prop key="hibernate.hbm2ddl.auto">validate</prop>
    </props>
  </property>

</bean>

验证
我认为有一种方法可以围绕这些元素注册侦听器,特别是JPA属性,因为它似乎是设置JPA配置元素的地方

JPA规范谈到实体监听器XML元素,但我找不到将它们注入可用Spring元素的方法


我对春天还很陌生,所以我很可能误解了一些事情。。。谢谢你的帮助

我猜你要找的是这样的东西(不要管本例中的实际听众):


org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener
org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener
org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener
org.hibernate.envers.event.AuditEventListener
org.hibernate.envers.event.AuditEventListener
org.hibernate.envers.event.AuditEventListener

谢谢,这有助于我了解示例JPA属性值。
<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

    <!-- other configuration cut out -->

    <property name="jpaProperties">
        <props> 

            <!-- for hibernate envers -->
            <prop key="hibernate.ejb.event.post-insert">
                org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener
            </prop>
            <prop key="hibernate.ejb.event.post-update">
                org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener
            </prop>
            <prop key="hibernate.ejb.event.post-delete">
                org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener
            </prop>
            <prop key="hibernate.ejb.event.pre-collection-update">org.hibernate.envers.event.AuditEventListener
            </prop>
            <prop key="hibernate.ejb.event.pre-collection-remove">org.hibernate.envers.event.AuditEventListener
            </prop>
            <prop key="hibernate.ejb.event.post-collection-recreate">org.hibernate.envers.event.AuditEventListener
            </prop>
        </props>
    </property>
</bean>