Spring XML 구성 파일을 통해 JPA EntityListener를 구성하려면 어떻게해야합니까?
문제
함께 구축 된 두 개의 WebApps가 있으며 각각 클라이언트와 관리자에게 데이터베이스에 액세스 할 수 있습니다.
각 앱마다 1 개의 JPA EntityListeners를 주어진 클래스에 등록하고 싶습니다. 이를 위해 각 앱의 JPA 컨텍스트를 구성하는 스프링 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>
JPA 구성 요소를 설정하는 장소 인 것처럼 보이기 때문에 이러한 요소, 특히 jpaproperties 주위에 청취자를 등록 할 수있는 방법이 있다고 생각했습니다.
JPA 사양은 Entity-Listeners XML 요소에 대해 이야기하지만 사용 가능한 스프링 요소에 주입하는 방법을 찾을 수 없습니다 ...
나는 봄을 처음 접했기 때문에 무언가를 오해했을 것입니다 ... 도와 주셔서 감사합니다!
해결책
나는 당신이 찾고있는 것이 다음과 같은 것 같아요 (이 예에서 실제 청취자를 신경 쓰지 마십시오).
<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