【问题标题】:How to inject Hibernate Interceptor class in entityManagerFactory如何在 entityManagerFactory 中注入 Hibernate Interceptor 类
【发布时间】:2014-03-30 10:59:20
【问题描述】:

我想在我的实体管理器工厂类中注入休眠拦截器类。但我找不到任何可以注入 hibernate Intercpetor 类引用的属性。

实体管理器工厂 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 bean 中注入拦截器 bean 引用???

【问题讨论】:

    标签: java spring hibernate dependency-injection


    【解决方案1】:

    我们不能注入休眠拦截器类引用实体管理器工厂类。我们可以使用替代或解决方法: 我们可以从 EntityManagerFactory bean 中获取 entityManager 的引用。

    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);
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-07
      • 2019-07-25
      • 2018-11-11
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多