2009-05-18 28 views
1

JPA(Hibernateを使用して)を多対多型と多対1の関係にマップしようとしていますが、運がない。私はなぜそれが不可能であるか、またはなぜ私がマッピングで具体的な型を宣言することが強制されるのかはわかりません。次に例を示します。多対多のJava JPA多型マッピング

@MappedSuperclass 
class BaseClass { 
    @Id 
    long id; 
} 
class ClassWithList extends BaseClass { 
    String attribute; 

    @OneToMany(mappedBy="backPointer") 
    List<ListClass> list; 
} 
class ListClass extends BaseClass { 
    String listItemData; 

    @ManyToOne 
    @JoinColumns({ 
     @JoinColumn(name="baseId"), 
     @JoinColumn(name="baseType"), 
    }) 
    BaseClass backPointer; 
} 

アドバイスをいただきありがとうございます。

答えて

1

特定のレコードについては、そのタイプは何も言いません。私はあなたがTopLink JPA: How-To Define Inheritanceを見ることをお勧めします。これは、Hibernateにも等しく適用可能です。

+0

私はListClassオブジェクトに列を入力していない点が正しいですが、How-To定義継承ドキュメントは私が探しているものだとは思いません。私はListClassに型の列を追加することができると思うが、私はJPAプロバイダがその型を使うことを知る方法はないと思う。私は私の例に@JoinColumnsアノテーションを追加します。 – Mike

関連する問題