Spring + EntityManagerFactory + Hibernate Listeners + Injection

У меня простой вопрос. Можно ли добавить инъекцию зависимостей через @Ressource или @Autowired в Hibernate Eventlistener?

Я покажу вам свой Конфигурация entitymanagerfactory:

<bean id="entityManagerFactory" class="org.hibernate.ejb.EntityManagerFactoryImpl">
    <qualifier value="entityManagerFactory" />
    <constructor-arg>
        <bean
            class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            <property name="persistenceUnitManager">
                <bean
                    class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManagerr">
                    <property name="defaultDataSource" ref="dataSource" />
                </bean>
            </property>
            <property name="dataSource" ref="dataSource" />
            <property name="persistenceUnitName" value="mis" />
            <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
            <property name="jpaProperties" ref="jpa.properties" />
            <property name="jpaDialect" ref="jpaDialect" />
            <property name="jpaVendorAdapter">
                <bean
                    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                    <property name="generateDdl" value="true" />
                    <property name="database">
                        <util:constant
                            static-field="org.springframework.orm.jpa.vendor.Database.POSTGRESQL" />
                    </property>
                    <property name="showSql" value="true" />
                </bean>
            </property>

        </bean>
    </constructor-arg>
</bean>

На данный момент я регистрирую свой слушатель через jpa.properties,

hibernate.ejb.event.load=com.example.hibernate.events.LoadEvent

, но в этом случае у меня нет Spring инъекции в моем слушателе. Я нашел решение, но при этом используется sessionFactory, а не entitymanager, или могу ли я изменить sessionfactory в моем контексте? Надеюсь, у кого-то есть хорошая идея или решение, как справиться с этой проблемой!

Большое спасибо!

8
задан Sean Patrick Floyd 10 November 2010 в 12:40
поделиться