1

Spring 管理の EJB3 休止状態リスナーを定義することは可能ですか?

persistence.xmlに次の定義があります。

<properties> 
    <property name="hibernate.ejb.interceptor"
        value="my.class.HibernateAuditInterceptor" /> 
    <property name="hibernate.ejb.event.post-update"
        value="my.class.HibernateAuditTrailEventListener" /> 
</properties>

HibernateAuditInterceptorしかし、私はSpringで管理したいHibernateAuditTrailEventListenerので、これらのクラス内でBeanインジェクション(例:セッションスコープのBean)を行うことができます。これは可能ですか?

4

2 に答える 2

3

http://blog.krecan.net/2009/01/24/spring-managed-hibernate-interceptor-in-jpa/

于 2010-06-17T16:48:17.630 に答える
0

問題は、これらのプロパティが単なる文字列であるということです。SessionFactoryをSpringBeanとして定義した場合でも、hibernatePropertiesセッターを介してSessionFactoryに渡すプロパティはすべて文字列です。

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource"ref="myDataSource"/>
    <property name="mappingResources">
        <list>
            <value>whatever.hbm.xml</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <value>
            hibernate.ejb.interceptor= my.class.HibernateAuditInterceptor
        </value>
        <value>
            hibernate.ejb.event.post-update=my.class.HibernateAuditTrailEventListener
        </value>
    </property>
</bean>

だから私はあなたがそれをすることができないと思います。

于 2008-11-04T19:05:00.223 に答える