كيف يمكنني تكوين النقابة EntityListener عن طريق ملف التكوين الربيع XML؟

StackOverflow https://stackoverflow.com/questions/1649052

سؤال

ولقد اثنين من webapps، التي تم إنشاؤها معا وعلى التوالي توفير وصول العميل والمشرف على قاعدة البيانات.

وأود أن تسجل اثنين EntityListeners JPA لفئة معينة، واحدة في كل التطبيق. للقيام بذلك، وأنا أحاول أن تجد وسيلة لتسجيل المستمعين عبر ملف التكوين الربيع XML أن تكوين سياق JPA كل التطبيق ... وعادل لا يمكن العثور على أي شكل من الأشكال.

وقد أي شخص فعلت شيئا من هذا القبيل؟

وهنا هو جزء من ملف التكوين 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 ...

ووالمواصفات النقابة تتحدث عن عناصر كيان المستمعين 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top