Tak zkus HQL: select from A a join s.b where b.doprava='auto' or b.doprava='bicykel';
viz treba http://patf.net/blogs/index.php?blog=2&c=1&more=1&pb=1&tb=1&title=many_to_many_in_hql 2010/8/11 Ondřej Fafejta <[email protected]>: > Zdravím ještě jenou, > > po konzultaci s kolegama z práce jsme přišli na 2 možná řešení > (napíšu v čistém SQL) > > Požadujeme vyhledat osoby, které mají zároveň "auto" a "bicykel" > > varianta 1: > > SELECT a.* FROM a > WHERE (SELECT count(*) FROM ab WHERE ab.b_id IN(1,2) AND ab.a_id=a.id)=2; > > varianta 2: EXISTS > > SELECT a.* FROM a > WHERE exists(SELECT ab.a_id FROM ab WHERE ab.b_id=1 AND ab.a_id=a.id) > AND exists(SELECT ab.a_id FROM ab WHERE ab.b_id=2 AND ab.a_id=a.id); > > > Fafi > -- Ondra Medek
