0

Spring 프로젝트 (JPA2.1 포함)를 보유하고 있으며 해당 프로젝트에서 persistenceUnitName이 "default"로 정의되어 있습니다.JPA2.1을 사용하는 persistenceUnitName

다른 스프링 배치 프로젝트 (다른 ​​프로젝트에서도 spring-core.jar를 사용하여 일부 Entity 클래스 및 기타 항목을 재사용)를 사용하여이 프로젝트의 종속성 (maven 사용)을 정의했습니다 (스프링 -JPA2.1).

이 프로젝트에서 동일한 persistenceUnitName을 정의 할 때 persistenceUnitName이라는 충돌 오류가 발생합니다.

<bean id="entityManagerFactory" 
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" 
      p:persistenceUnitName="default" 
      p:jpaVendorAdapter-ref="jpaVendorAdapter" 
      p:dataSource-ref="dataSource" /> 

하지만이 프로젝트에 persistenceUnitName의 이름을 변경 할 때 가져온 프로젝트의 persistenceUnitName ("기본")를 만들 수 없습니다. 가져온 프로젝트의 JPA 클래스를 만들 그래서 수없는

Error creating bean with name 'SampleJpa': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'default' is defined 

나에게 몇 가지 솔루션을 제안하십시오 (있는 난의 pom.xml에 의존성을 정의). 실제로 이것은 최대 절전 모드로 이런 식으로 일하고 있었지만 이주는 우리에게 힘든 시간을줍니다.

답변

0

가져온 프로젝트에 새 모듈을 만들고 persistence.xml을이 모듈에서 분리했습니다. 그리고 나서 모듈을 가져 왔습니다 (모듈은 현재 전체 코어가 아닌 다른 프로젝트에서 가져올 클래스 만 가지고 있습니다). 이렇게하면 잘 작동합니다.

+0

나는이 대안을 찾을 수 있도록 다른 답변을 얻지 못했습니다. – Vik