当在多个Spring配置类中使用@EnableJpaRepository时,可能会抛出BeanDefinitionOverrideException异常。这是因为@EnableJpaRepository默认会为每个Spring会话工厂创建一个名为“entityManagerFactory”的bean,但是当在多个配置类中使用时,这会导致bean名称冲突。
要解决此问题,可以在每个配置类上使用不同的bean名称。例如,我们可以在第一个配置类中使用“entityManagerFactory1”作为bean名称,在第二个配置类中使用“entityManagerFactory2”作为bean名称,以此类推。
示例代码:
@Configuration @EnableJpaRepositories( entityManagerFactoryRef = "entityManagerFactory1", transactionManagerRef = "transactionManager1") public class FirstConfig {
// ... additional configuration ...
}
@Configuration @EnableJpaRepositories( entityManagerFactoryRef = "entityManagerFactory2", transactionManagerRef = "transactionManager2") public class SecondConfig {
// ... additional configuration ...
}