J'ai une question simple. Est-il possible d'ajouter l'injection de dépendance via @Ressource ou @Autowired à l'Hibernate Eventlistener?Spring + EntityManagerFactory + Hibernate Listeners + Injection
Je vais vous montrer ma configuration 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>
Au moment où j'enregistrer mon auditeur via jpa.properties,
hibernate.ejb.event.load=com.example.hibernate.events.LoadEvent
mais dans ce cas je n'ai aucune injection de printemps dans mon auditeur . J'ai trouvé une solution, mais celle-ci utilise la sessionFactory et non le gestionnaire d'entité ou est-ce que je peux modifier la sessionfactory dans mon contexte? J'espère que quelqu'un aura une bonne idée ou solution pour faire face à cette problématique!
Un grand merci!
Salut, merci pour votre respone. Pouvez-vous s'il vous plaît me dire où je trouve le ContextHelper? J'en ai un de Hibernate.search.util. et Hibernate.search.event et il n'y a aucune méthode "getCurrentApplicationContext()" – moohkooh
C'est une classe que vous devez créer. J'ai maintenant joint une version d'échantillon. –
Grand merci beaucoup, ça marche. Je ne peux pas vous dire, combien vous m'avez aidé !! Grand grand merci !! Ce – moohkooh