わかりやすくするために、これら3つのテーブルがあると仮定します。
従業員 [id]
EmployeeName [employeeId、name]
EmployeeAddress [employeeId、address]
定義されている唯一のプロパティ/関係は、「サブテーブル」のEmployeeNameとEmployeeAddressにあります。
- EmployeeNameは従業員に属します
- EmployeeAddressは従業員に属します
メインのEmployeeテーブルには次のようなプロパティ/関係(コレクション)はありません。
- 従業員HasManyEmployeeName
- 従業員HasManyEmployeeAdress。
EmployeeNameとEmployeeAddressの間でのみ(Employeeを含まない)DetachedCriteriaを使用して結合を実行し たいので、
EmployeeNameの内部結合EmployeeAddressからEmployeeName.name、EmployeeAddress.addressを選択します
。ここで、EmployeeName.employeeId = EmployeeAddress.employeeIdであり、EmployeeAddress.addressのような'%somelocation%'のようなEmployeeAddress.addressです。