hibernateを使用してオブジェクトの階層を含めることはできますが、discriminator列はサブクラス型を定義するCODEを含む別のテーブルの外部キーです。階層ごとのHibernateテーブル方法
結合されたテーブルのコードを弁別者として指定することはできますか、またはキー値を使用する必要がありますか?
discriminator = "square | circle" v.s.弁別= "0 | 1"
テーブル:形状
area=25 shape_type_fk=0
area=10 shape_type_fk=1
表:あなたはサブクラスの代わりに結合されたサブクラスを使用する必要があるようshape_types
ID CODE
0 square
1 circle
Maartenの例では動作しますが、ディスクリミネータの数式を括弧でくくる必要があり、サブセレクトの列はエイリアステーブルを参照する必要があります。また、サブクラスの基準を使用すると相関サブクエリが発生しますが、これは非常に非効率的です。私は多相(テーブルごと)の階層なしで生きなければならないと思う。 – gbegley