ICriteriaで同様のSQLを作成する必要があります。
テーブル:
1Lvl-2Lvl-3Lvl
SQL:
SELECT * FROM 2Lvl
WHERE 2Lvl.1LvlFK in
(
SELECT 1Lvl.Id
FROM 3Lvl
JOIN 2Lvl ON 3Lvl.2LvlFK = 2Lvl.Id
JOIN 1Lvl ON 2Lvl.1LvlFK = 1Lvl.Id
WHERE 3Lvl.Id = 123
)
具体的な質問で申し訳ありませんが、Hibernateを使用したプロジェクトを従業員から継承したため、Hibernateの基準を理解できません。