У меня есть простой вопрос. Можно ли добавить инъекцию зависимостей через @Ressource или @Autowired в Hibernate Eventlistener?Spring + EntityManagerFactory + Hibernate Listeners + Injection
Я покажу вам мою 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
, но в этом случае я не имею инъекций пружины в моем слушателе , Я нашел решение, но это использует sessionFactory, а не entitymanager, или я могу модифицировать sessionfactory в моем контексте? Надеюсь, у кого-то есть хорошая идея или решение, чтобы справиться с этой проблемой!
Большое спасибо!
Привет, спасибо за ваш respone. Не могли бы вы рассказать мне, где я нахожу ContextHelper? У меня есть один из Hibernate.search.util. и Hibernate.search.event, и нет методов «getCurrentApplicationContext()» – moohkooh
Это класс, который вам нужно создать. Теперь я приложил примерную версию. –
Большое спасибо, это работает. Я не могу сказать вам, сколько вы мне помогли !! Большое спасибо! – moohkooh