Log、Employee、Agency の 3 つのエンティティがあります。
Employee への多対 1 関連付けでログに記録する
Agency に多対 1 の関連付けを持つ従業員
DetachedCriteria criteria = DetachedCriteria.forClass(Log.class);
if (StringUtils.isNotBlank(c.getName())) {
criteria.createAlias("employee", "e").add(Restrictions.ilike("e.name", "%" + c.getName() + "%"));
}
if (StringUtils.isNotBlank(c.getAgency())) {
criteria.createAlias("employee", "e").createAlias("agency", "a").add(Restrictions.ilike("e.a.name", "%" + c.getAgency() + "%"));
}
上記は従業員名には機能しますが、代理店名には機能しません。
以下のエラーが表示されます。
Exception: org.hibernate.QueryException: could not resolve property: agency of: com.example.Log
私が見つけたすべての例は、1 レベル下にしかありません。誰かが下に移動する方法を教えてくれるリソースを教えてもらえますか?