2012-05-10 4 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 

-

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

は、私は次の例外が発生しましたスレッド内のは、

例外 "メイン" javax.persistence.PersistenceException:例外> [EclipseLinkの-0](Eclipseの永続化サービス - 2.1.2.v20101206-r8635):org.eclipse.persistence.exceptions.IntegrityException

ディスクリプタ例外:

例外[EclipseLinkの-93](Eclipseの永続化サービス - 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](Eclipseの永続化サービス - 2.1.2.v20101206-r8635):org.eclipse.persistence.exceptions.IntegrityExce ption

RXRACTSPOTでマップを削除すると、テーブルRXRCUSTATTRESTとRXRCUSTATTRDEFが正常に作成されます。マップを使用してどちらのテーブルも作成されず、例外がスローされます。私は、マップ上のいくつかの注釈が不足していると思うが、キーと値の両方をエンティティとして持つマップの例を見つけることができなかった。

+0

あなたはこれを理解しましたか?私は2.5.0-M6で同じ問題を抱えています –

答えて

1

バグのようです。最新リリースを試してください。まだリリースされている場合は、バグを記録してください。

マップを使用する代わりに、3方向ジョインテーブルを表す別のEntityクラスを作成することもできます。

関連する問題