【发布时间】:2011-02-23 17:32:23
【问题描述】:
我无法覆盖关联。阅读 javadoc http://download.oracle.com/javaee/6/api/javax/persistence/CollectionTable.html 你可以阅读“另见: ElementCollection, AttributeOverride, AssociationOverride, Column" 这让我们假设你可以使用它,但我不知道这怎么行不通。
@MappedSuperclass
public class AbstractUser {
[...]
public String getLastname() { ...}
@ElementCollection
@CollectionTable(joinColumns=@JoinColumn(name="user_id"))
@Column(name="nickname")
public Set<String> getNicknames() { ... }
实现
@Entity
@Table(name="users")
@Table(name="user_rfcs")
@AssociationOverride(name = "nicknames",
joinTable = @JoinTable(name = "user_nicknames", joinColumns = @JoinColumn(name = "user_id"))
)
public class User extends AbstractUser {
[...]
}
@Entity
@Table(name="user_rfcs")
@AssociationOverride(name = "nicknames",
joinTable = @JoinTable(name = "user_rfc_nicknames", joinColumns = @JoinColumn(name = "user_id"))
)
public class UserRFC extends AbstractUser {
[...]
}
【问题讨论】: