我有一个定义如下的基类:
@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 规范在这种情况下期望什么?