9.2. 制限
table-per-concrete-class マッピング戦略への「暗黙的ポリモーフィズム」アプローチにはいくつかの制限があります。
<union-subclass>
マッピングに対しても若干弱めの制限があります。
次のリストで、Hibernate における table-per-concrete-class マッピングの制限や暗黙的ポリモーフィズムの制限を示します。
- table per class-hierarchy , サブクラスごとのテーブル(table-per-subclass)
- ポリモーフィックな多対一:
<many-to-one>
- ポリモーフィックな一対一:
<one-to-one>
- ポリモーフィックな一対多:
<one-to-many>
- ポリモーフィックな多対多 :
<many-to-many>
- ポリモーフィックな
load()
あるいはget()
:s.get(Payment.class, id)
- ポリモーフィックなクエリ:
from Payment p
- ポリモーフィックな結合:
from Order o join o.payment p
外部結合によるフェッチに対応しています。- table per concrete-class (union-subclass)
- ポリモーフィックな多対一:
<many-to-one>
- ポリモーフィックな一対一:
<one-to-one>
- ポリモーフィックな一対多:
<one-to-many>
(inverse="true"
のみ) - ポリモーフィックな多対多 :
<many-to-many>
- ポリモーフィックな
load()
あるいはget()
:s.get(Payment.class, id)
- ポリモーフィックなクエリ:
from Payment p
- ポリモーフィックな結合:
from Order o join o.payment p
外部結合によるフェッチに対応しています。- table per concrete class (暗黙的ポリモーフィズム)
- ポリモーフィックな多対一:
<any>
- ポリモーフィックな多対多 :
<many-to-many>
- ポリモーフィックな
load()
またはget()
:s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()
- ポリモーフィックなクエリ:
from Payment p
ポリモーフィックな一対一、ポリモーフィックな一対多、ポリモーフィックな結合、外部結合フェッチには対応していません。