2014-02-27 2 views
1

Я хочу ввести класс перехватчика hibernate в мой заводский класс менеджера объектов. Но я не смог найти какое-либо свойство, в которое я могу ввести ссылку на класс hi-end Intercpetor.Как вводить класс перехватчика Hibernate в entityManagerFactory

Entity менеджер Factory Bean:

<bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" /> 
     <property name="packagesToScan" value="com.XXXXX.entity" /> 
     <property name="jpaProperties"> 
    </bean> 

<!-- Datasource --> 
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
     destroy-method="close"> 
     <property name="driverClass" value="${jdbc.driver.classname}" /> 
     <property name="jdbcUrl" value="${jdbc.url}" /> 
    </bean> 

<!-- MyInterceptor bean --> 
<bean id="interceptor" class="com.XXXX.interceptor.AuditInterceptor" "/> 

<!-- transaction Manager --> 
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory" /> 
    </bean> 

Я хочу, чтобы понять, как я могу привнести свой перехватчик ссылку фасоли в EntityManagerFactory боба ???

ответ

1

Мы не можем вводить спящий режим класса Intercpetor в качестве ссылочного лица. Мы можем использовать альтернативный вариант или работать: Мы можем получить ссылку entityManager из компонента EntityManagerFactory.

EntityManagerFactory entityManagerFactory; 

    private static EntityManager entityManager; 

    @Autowired 
    public void setEntityManagerFactory(EntityManagerFactory entityManagerFactory) 
    { 
    entityManager = entityManagerFactory.createEntityManager(); 
    this.entityManagerFactory = entityManagerFactory; 
    } 

    public Session getCurrentSession() 
    { 
    return entityManager.unwrap(org.hibernate.Session.class); 
    } 
Смежные вопросы