2016-12-08 4 views
0

프로젝트에서 몇 개의 패키지가 있고 각 패키지에는 @Entity로 표시된 두세 개의 클래스가 있습니다. 하나의 패키지에서 엔티티가없는 모든 패키지에서 모든 엔티티를 제외 할 수 있습니까? 올바른 패키지의 이름은 JVM 매개 변수로 제공됩니다 (-Dname = value). 불필요한 테이블을 만들고 싶지 않습니다.속성에서 영속 단위 이름 및 엔티티 제외

persistence.xml의 두 번째 문제점은 단위 이름입니다. 왜 솔루션 아래에서 작동하지 않습니다?

<persistence-unit name="${database.name}" transaction-type="RESOURCE_LOCAL"/> 

오류는 다음과 같습니다

javax.persistence.PersistenceException는 : javax의에서 javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:61)에서 ******라는 이름의 EntityManager에 대한 어떠한 지속성 제공하지 cr.profil.GetProfile에서 .pfistence.Persistence.Persistence.createEntityManagerFactory (Persistence.java:39). cr.profil.MainProfil.main에서 cr.profil.GetProfile.insertDataEntity (GetProfile.java:217). (GetProfile.java:57) (MainProfil.java:54)

나는 해결책을 찾지 못하는 이유를 모르겠다. 사용자, 암호 및 서버 URL에 대한 비슷한 설정이 정상적으로 작동합니다. 사전 MARIUSZ에서

감사

답변

0

그것은이 persistence.xml에 vaiable 사용할 수 있습니까? 이 변수는 어디서 오는가?

이 파일 또는 매핑 xml 파일에서 사용 가능한 엔티티를 나열합니다.

+0

당신은 내 상황을 이해하지 못했습니다. 예를 들어, 패키지 1 : (Class1p1, Class2p1, Class3p1), package2 : (Class1p2, Class2p2), package3 : (Class1p3) 패키지 3 개가 있습니다. 때로는 package1에서만 클래스를 사용하지만 때로는 package2에서 클래스를 사용하려고합니다. 클래스의 수가 각 패키지마다 다르므로 persistence.xml에이 엔티티를 추가 할 수 없습니다. 나는 persistence-unit name으로 변수 database.name을 사용하고자한다. (나는 이것을 할 수 없다.) 스키마의 이름으로 사용한다. – Marian

+0

나는 이해했다. 그러나 나는 그것이 가능하지 않다는 느낌을 가지고있다. –

+0

나는 persistence-unit에 대해서 또 하나의 질문이있다. 프로세스 EntityManagerFactory emf를 생성하는 동안 파일 (key = value)의 속성을 가진 맵을 추가 할 수 있습니다. 매핑 된 클래스에 대한 정보를 추가 할 수 있습니까? – Marian