我不明白,到底发生了什么!
突然间,简单的事情停止工作了!
现在我正在尝试定义类似这里的东西 http://docs.spring.io/spring-data/jpa/docs/1.10.6.RELEASE/reference/html/#jpa.java-config
我得到以下编译错误
incompatible types: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean cannot be converted to javax.persistence.EntityManagerFactory
这是正确的,因为 LocalContainerEntityManagerFactoryBean
没有实现 EntityManagerFactory
,这是 JpaTransactionManager#setEntityManagerFactory()
所要求的方法。
为什么官方示例包含完全错误的代码段?怎么可能,这段代码已经为我编译了一段时间?
我弄坏了什么?
更新
我能够重写
txManager.setEntityManagerFactory(entityManagerFactory());
到
txManager.setEntityManagerFactory(entityManagerFactory().getObject());
所以这是文档中的错误?
最佳答案
是的,文档有误
使用此代码将实体管理器工厂注入(inject) txManager
@Bean @Autowired public PlatformTransactionManager transactionManager(EntityManagerFactory factory) {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(factory);
return txManager;
}
关于java - LocalContainerEntityManagerFactoryBean 无法转换为 EntityManagerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41617562/