以下のモデルのための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が正常に作成されます。マップを使用してどちらのテーブルも作成されず、例外がスローされます。私は、マップ上のいくつかの注釈が不足していると思うが、キーと値の両方をエンティティとして持つマップの例を見つけることができなかった。
あなたはこれを理解しましたか?私は2.5.0-M6で同じ問題を抱えています –