Spring XML構成ファイルを介してJPA EntityListenerを構成するにはどうすればよいですか?
質問
2つのwebappsがあり、それらは一緒に構築され、それぞれデータベースへのクライアントと管理者のアクセスを提供します。
2つのJPA EntityListenerを特定のクラスに登録します(各アプリに1つずつ)。そのために、各アプリのJPAコンテキストを構成するSpring XML構成ファイルを介してリスナーを登録する方法を探していますが、方法が見つかりません。
すでに似たようなことをしている人はいますか?
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>
これらの要素、特にJPAPropertiesの周りにリスナーを登録する方法があると考えました。JPA構成要素を設定する場所だと思われるからです...
JPA仕様はエンティティリスナーXML要素について述べていますが、利用可能なSpring要素にそれらを挿入する方法を見つけることができません...
私は春にかなり慣れていないので、何かを誤解しているかもしれません...ご協力ありがとうございます!
解決
探しているのは次のようなものだと思います(この例の実際のリスナーは気にしないでください):
<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>
所属していません StackOverflow