如何在JPA中拥有2个相同类型的集合? (的EclipseLink)

时间:2011-03-11 02:23:30

标签: jpa eclipselink

想知道如何执行How to have 2 collections of the same type in JPA?中指定的内容,但使用EclipseLink而不是Hibernate。见下面的帖子:

  

我在JPA中有2个实体:Entry和   评论。条目包含两个   评论对象的集合。

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@IndexColumn(base = 1, name = "dnr")
private List<Comment> descriptionComments = new ArrayList<Comment>();

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@IndexColumn(base = 1, name = "pmnr")
private List<Comment> postMortemComments = new ArrayList<Comment>();
  

存储此类对象,JPA + Hibernate   创造&#34;进入&#34;表,&#34;评论&#34;表   和SINGLE&#34; Entry_Comment&#34;:

     

创建表Entry_Comment(Entry_id   整数不为null,   postMortemComments_id整数不是   null,pmnr整数不为null,   descriptionComments_id整数不   null,dnr integer not null,primary   key(Entry_id,dnr),唯一   (descriptionComments_id),独一无二   (postMortemComments_id))

     

存储对象失败   descriptionComments_id和   postMortemComments_id不能是&#34;不是   空&#34;在同一时间。

     

如何存储包含两个对象的对象   使用相同类型的集合   JPA +休眠?

我确信将该解决方案转换为EclipseLink非常简单,但我似乎无法弄明白。感谢

1 个答案:

答案 0 :(得分:3)

您可以按@JoinTable

显式指定联接表的名称