0
私はHibernateを初めて使用しているので、現時点でクライアントに働いているユニークな従業員を見つけるために、SQLの下でHQLを修正することができます。可能であれば、私にチュートリアルのリンクを提供してください。条件付きの左外部結合のためのHQLの記述方法?
SQLの解析中にデータベース&からNative SQLでもレコードを受け取ることができましたが、HQL以下で使用するとレコードを受け取れませんでした。
SQL:
select distinct u.employeeid from employee u
inner join address ad on u.employeeid = ad.employeeid
left join company cp on (ad.oldcompanyid = cp.currentcompanyid and cp.wokingornot='Y')
left join client cl on (ad.oldcompanyid = cl.currentcompanyid and cl.wokingornot='Y')
where (u.lastdate is null and ad.lastdate is null)
and (cp.wokingornot = 'Y' or cl.wokingornot = 'Y');
修正してくださいHQL以下に挙げる:
public class employee {
public Int employeeid ;
public set<address> address;
public Date lastdate;
public Date Startdate;
}
public class address{
public int addressid;
public int oldcompanyid;
public employee employee;
public Date lastdate;
public Date Startdate;
}
public class company{
public int currentcompanyid;
public string wokingornot;
public address address;
}
public class client{
public int currentcompanyid;
public string wokingornot;
public address address;
}
HQLクエリは、エンティティのマッピング方法に基づいてフレーム化されます。関連するエンティティを転記すると役立ちます。 –