- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 Entitymanager
bean 配置。每个都指向具有不同架构的单独数据库(一个是 Oracle,另一个是内存中 H2)
我能做些什么来解决每个存储库应该使用什么 Entitymanager 的歧义?现在我收到这个错误:
No unique bean of type [javax.persistence.EntityManagerFactory] is defined:
expected single bean but found 2
<jpa:repositories base-package="com.foo.repos.ora"
entity-manager-factory-ref="entityManagerFactoryA">
<jpa:repositories base-package="com.foo.repos.m2"
entity-manager-factory-ref="entityManagerFactoryB">
<jpa:repositories base-package="com.foo.repos.ora" entity-manager-factory-ref="entityManagerFactory"/>
<jpa:repositories base-package="com.foo.repos.m2" entity-manager-factory-ref="entityManagerFactory2"/>
<context:component-scan base-package="com.foo" /> ....
@Repository
public interface ARepository extends ARepositoryCustom, JpaRepository<myEntity, BigDecimal>, QueryDslPredicateExecutor {
}
public interface ARepositoryCustom {
FooBar lookupFooBar()
}
public class ARepositoryImpl extends QueryDslRepositorySupport implements ARepositoryCustom {
ARepositoryImpl(Class<?> domainClass) {
super(domainClass.class)
}
ARepositoryImpl() {
this(myEntity.class)
}
@Override
FooBar lookupFooBar() {
JPQLQuery query = ....
....
return found
}
}
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'aRepositoryImpl': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [javax.persistence.EntityManagerFactory] is defined: expected single bean but found 2
最佳答案
引擎盖下没有魔法。
<jpa:repositories base-package="com.foo.repos.ora" entity-manager-factory-ref="entityManagerFactory"/>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
...
</bean>
<bean id="sharedEntityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
<property name = "entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<bean id="aRepositoryImpl" class="comm.foo.repos.ora.ARepositoryImpl">
<property name="entityManager" ref="sharedEntityManager"/>
</bean>
@Resource(name = "sharedEntityManagerA")
EntityManager entityManager
<bean id="sharedEntityManagerA" name="sharedEntityManagerA" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
<property name = "entityManagerFactory" ref="entityManagerFactory"/>
</bean>
@PersistenceContext( unitName = "nameOfPersistenceUnit" )
关于entitymanager - Spring 数据 JPA : Repositories for multiple database/Entitymanger configurations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550086/
我合并了一个新实例(它已保存到数据库中)然后我关闭了实体管理器,打开了一个新实例试图找到该实体但返回了 null。 public T merge(Object source, Event> eve
我在 JPA 将旧数据保留在缓存中时遇到问题,并尝试了我能找到的解决方案,但它不断弹出! 无论如何,为了提高效率,我最初重复使用了一个实体管理器实例。当我第一次遇到所描述的问题时,我更改了代码,以便为
我是 Java/Hibernate/Seam 开发方式的新手,但我似乎对 Hibernate 和并发线程有一个奇怪的问题。 我有一个应用程序范围的 Seam 组件,它通过 EJB 计时器以设定的时间间
在下面的代码中,我注入(inject)的 EnitityManager 出现了问题,它总是显示为 null; public class GenericController extends Abstra
背景 我有一个 java/spring 系统,其中的事务是通过自定义 HandlerInterceptor 手动管理的。也就是说: 在每个请求开始时都会打开一个事务(系统的不幸部分是任何请求都可能导致
有什么区别 T EntityManager.find(Class entityClass, Object primaryKey) and T EntityManager.getReference(
我目前正在尝试找出在我的应用程序中获取实体管理器和用户事务的最佳方法。 在 JBoss 5.1 中,我可以将它直接注入(inject)到 JSP 文件中,但现在不再允许这样做了: 我必须从应用程序中
我有两个 Entitymanager bean 配置。每个都指向具有不同架构的单独数据库(一个是 Oracle,另一个是内存中 H2) 我能做些什么来解决每个存储库应该使用什么 Entitymanag
我有一个要在较旧的 Hibernate 中编写的查询(利用 SessionFactory bean)。然而,我已经转向 Spring Boot,现在正在使用 JPA 2,它本质上看起来像是 Hiber
我对新的 Spring Boot 版本 2.0.0 有疑问。我需要创建 SessionFactory bean,为此我需要 Spring 来注入(inject) EntityManager。 pack
我是一名优秀的程序员,十分优秀!