2011-02-14 4 views
2

여기가 사실이다 :JPA : jpa-jar 위치를 하드 코딩하지 않으려면 어떻게해야합니까?

  1. 내가 한 항아리 (항아리 A)에서 2 개 내 웹 애플리케이션에서 JPA 엔티티를 포함 항아리,
  2. 및 기관이 다른 항아리에 엔티티 참조가 (jarB)
  3. I 항아리

의의 persistence.xml에 <jar-file>/WEB-INF/lib/MyJarB.jar</jar-file>을 넣어하지만 내가 테스트 환경에서 엔티티를 테스트 할 수 있기 때문에 /WEB-INF/lib/MyJarB.jar를 하드 싶지 않다, 그리고 올릴 때 경로를 하드 코딩하는 것 이외에 엔티티 항아리 종속성을 지정하는 또 다른 방법이 있어야한다.

나는 <jar-file>MyJarB.jar</jar-file><jar-file>./MyJarB.jar</jar-file>을 시도했지만 모두 실패했습니다.

의견을 말하십시오.

답변

1

퍼시스턴스 정의가 응용 프로그램과 관련되어 있으므로 persistence.xml을 JAR과 함께 사용하지 않는 것이 좋습니다. 따라서 두 JAR 파일 선언, 당신의 모듈에 persistence.xml을 가지고 더 나은 것 : 당신이 당신의 웹 모듈에서 검사를 경우

<jar-file>/WEB-INF/lib/MyJarA.jar</jar-file> 
<jar-file>/WEB-INF/lib/MyJarB.jar</jar-file> 

을, 당신은 대체를 만들고, 다른 persistece 정의를 사용하려면 persistence.xml, src/test/resources에서 말하고,이 인스턴스를 사용하여 EntityManagerFactory를 인스턴스화하십시오.

3

순수 테스트 용으로 만 다른 persistence.xml을 생성하고 프로젝트 B 자체 또는 테스트 클래스가 포함 된 다른 하위 프로젝트에 배치하십시오.

관련 문제