在EclipseLink的@MappedSuperclass基类上使用@ElementCollection和@CollectionTable

时间:2012-11-04 20:43:41

标签: java hibernate jpa jpa-2.0 eclipselink

我有一个基类定义如下:

@MappedSuperclass
public abstract class BaseUser {
    @ElementCollection(fetch = FetchType.EAGER)
    @CollectionTable(name = "user_tags",
        joinColumns = {
                @JoinColumn(name = "owner_id", referencedColumnName= "tagName")})
    public Set<String> getTags() {...}

一堆扩展BaseUser的派生用户类 使用Hibernate,为所有派生类创建了一个“user_tags”表(这就是我想要的) 转移到EclipseLink后,似乎引擎试图将“owner_id”和“tagName”列一遍又一遍地添加为派生类的数量,这显然会导致表创建失败。 有没有办法在EclipseLink中获得与Hibernate相同的行为? 在这种情况下,JPA规范期望什么?

1 个答案:

答案 0 :(得分:1)

好像是一个错误。请记录错误并投票支持。

它可能已经修复,所以请尝试最新版本。