首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA:建模一个Map<Entity,Entity>

JPA:建模一个Map<Entity,Entity>
EN

Stack Overflow用户
提问于 2012-05-10 00:16:05
回答 1查看 235关注 0票数 1

当使用EclipseLink为以下模型生成数据库表时,我遇到了一个异常:

代码语言:javascript
复制
 @Entity
 @Table(name="RXRACTSPOT")
 public class ActivitySpot implements Serializable,IsSerializable {
    .....

    @OneToMany
    private Map<CustomAttributeDefinition, CustomAttributeRestriction> customAttributes;

--

代码语言:javascript
复制
@Entity
@Table(name="RXRCUSTATTRREST")
public class CustomAttributeRestriction implements Serializable

--

代码语言:javascript
复制
@Entity
@Table(name="RXRCUSTATTRDEF")
public class CustomAttributeDefinition implements Serializable

我遇到以下例外情况:

线程"main“中的org.eclipse.persistence.exceptions.IntegrityException异常:

>EclipseLink-0:javax.persistence.PersistenceException

描述符异常:

org.eclipse.persistence.exceptions.DescriptorException异常描述:表RXRCUSTATTRREST不存在于此描述符中。描述符: RelationalDescriptor(com.rubiconred.activitystream.core.model.ActivitySpot -> DatabaseTable(RXRACTSPOT))

运行时异常:

java.lang.IndexOutOfBoundsException:索引: 0,大小:0

代码语言:javascript
复制
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)

由: Exception EclipseLink-0EclipseLink-0引起

如果删除RXRACTSPOT中的Map,则将成功创建RXRCUSTATTREST和RXRCUSTATTRDEF表。使用Map,既不会创建表,也不会引发异常。我怀疑我在Map上缺少了一些注释,但是我一直无法找到一个以键和值作为实体的Map示例。

EN

回答 1

Stack Overflow用户

发布于 2012-05-10 14:28:55

好像是个虫子。尝试最新的版本,如果它仍然发生,请记录一个错误。

您还可以创建另一个实体类来表示三种连接表,而不是使用Map。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10525909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档