Я новичок в Hibernate, может кто-нибудь исправить HQL для ниже SQL, чтобы узнать о уникальных сотрудниках, которые сейчас работают с клиентом. если возможно, предоставьте мне несколько ссылок для учебника.Как написать HQL для левого внешнего соединения с критериями?
при разборе SQL я смог получить некоторые записи из базы данных & также с помощью собственного 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 перечислены ниже:
select distinct u from employee u ,address uo,company tp ,client mp
inner join u.address uo
left join uo.company tp with tp.wokingornot= true
left join uo.client mp with mp.wokingornot= true
where (u.lastdate is null and uo.lastdate is null)
and (tp.wokingornot= true or mp.wokingornot= true);
Ниже перечислены объекты, которые я ищу для 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 оформлены в зависимости от того, как отображаются объекты. Проводятся соответствующие организации. –