我需要创建一个必须有权访问实体管理器的Hibernate拦截器。问题是当我定义如何使用Spring中的XML配置文件创建EntityManagerFactory来定义entityManagerFactory bean时,我必须告诉实体管理它必须使用哪个拦截器bean。问题是,我的拦截豆已经使用如何使用Spring在Hibernate拦截器Bean中注入EntityManager?
@PersistenceContext private EntityManager entityManager;
注入实体管理领域的定义。当我做这个春天抛出以下异常:
产生的原因:org.springframework.beans.factory.BeanCreationException :在类路径资源[ar/com/xxx/impl/config/persistence/persistence-impl-xxx-spring.xml中定义的名称'ar.com.zauber.commons.repository.utils.ConfigurableHibernatePersistence#50d17ec3'中创建bean时出错]:设置bean属性'拦截器'时,无法解析对bean'拦截器'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:使用名称'拦截器'创建bean时出错:持久性依赖关系的注入失败;嵌套的例外是org.springframework.beans.factory.BeanCurrentlyInCreationException:错误创建名称为豆“的entityManagerFactory”:的FactoryBean这是目前在创作返回null从的getObject
的问题是,实体管理器不能因为注入实体经理工厂正在创建中。
任何想法我该如何解决这个问题?