私は次のように定義された基本クラスを持っています:
@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仕様は何を期待していますか?