2012-05-10 2 views
1

다음 모델은 EclipseLink와 데이터베이스 테이블을 생성 할 때 나는 예외로 실행하고 있습니다 :JPA : 모델링지도 <법인, 법인>

@Entity 
@Table(name="RXRACTSPOT") 
public class ActivitySpot implements Serializable,IsSerializable { 
    ..... 

    @OneToMany 
    private Map<CustomAttributeDefinition, CustomAttributeRestriction> customAttributes; 

-

@Entity 
@Table(name="RXRCUSTATTRREST") 
public class CustomAttributeRestriction implements Serializable 

-

,369 :
@Entity 
@Table(name="RXRCUSTATTRDEF") 
public class CustomAttributeDefinition implements Serializable 

나는 다음과 같은 예외가 발생 글 1,363,210는

예외 "메인"javax.persistence.PersistenceException : 예외> [EclipseLink가 -0- (이클립스 지속성 서비스 - 2.1.2.v20101206-r8635) org.eclipse.persistence.exceptions.IntegrityException

디스크립터 예외 :

예외 [EclipseLink가-93 (이클립스 지속성 서비스 - 2.1.2.v20101206-r8635) org.eclipse.persistence.exceptions.DescriptorException 예외 설명 : 표 [RXRCUSTATTRREST]는 이 설명자에 없습니다. 디스크립터 : RelationalDescriptor (com.rubiconred.activitystream.core.model.ActivitySpot -> [DatabaseTable (RXRACTSPOT)])

런타임 예외 :

java.lang.IndexOutOfBoundsException 인덱스 : 0 크기는이 : 0

at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:417) 
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164) 
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221) 
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209) 
at com.rubiconred.activitystream.database.ActivityStreamDatabaseUtils.dropAndCreateTables(ActivityStreamDatabaseUtils.java:64) 
at com.rubiconred.soauiext.server.db.CreateOneSpotDatabases.main(CreateOneSpotDatabases.java:16) 

를 일으켰 : 예외 [EclipseLink가 -0- (이클립스 지속성 서비스 - 2.1.2.v20101206-r8635) org.eclipse.persistence.exceptions.IntegrityExce ption

RXRACTSPOT에서 맵을 제거하면 테이블 RXRCUSTATTREST 및 RXRCUSTATTRDEF가 성공적으로 작성됩니다. 맵을 사용하면 어느 쪽 테이블도 작성되지 않고 예외가 발생합니다. 나는지도에서 일부 주석이 누락되었다고 생각하지만 키와 값이 모두 엔티티 인지도에 대한 예제를 찾을 수 없었습니다.

+0

이것을 알아 냈습니까? 나는 2.5.0-M6에서 같은 문제를 겪고있다. –

답변

1

버그가있는 것 같습니다. 최신 릴리스를 사용해보십시오. 여전히 발생하는 경우 버그를 기록하십시오.

지도를 사용하는 대신 3 방향 조인 테이블을 나타내는 다른 Entity 클래스를 만들 수도 있습니다.