Ahojte, skusim to napisat zrozumitelnejsie:
mam tabulku A, stlpce: id name mam tabulku B, stlpce: id name a potom mam tabulku AB (vazobna tabulka medzi A a B) , stlpce: fk_a_id cudzi kluc do A fk_b_id cudzi kluc do B. priklad: tabulka A: 1 Ivan 2 Peter 3 Jozo tabulka B: 1 auto 2 bicykel 3 motorka 4 skuter tabulka AB: 1 1 1 2 3 4 2 1 2 2 4 1 potrebujem cez hibernate napisat taky dotaz, ktory mi vyberie z tabulky A len takych ludi, ktori maju auto a bicykel, teda ktory maju presne taketo zaznamy: x 1 x 2 v nasom pripade by to boli zaznamy z A tabulky: Ivan a Peter (id 1 a 2). dakujem Ivan 2010/8/9 Ondra Medek <[email protected]>: > Zkusenost s tim nemam, ale nepomohl by "in" operator? Neco jako > > select A a from A where a.bList in (select B b from B where ...); > > 2010/8/5 Ivan Polak <[email protected]>: >> Zdravim konferenciu, >> >> poprosil by som o pomoc pri porovnavani List<> objektov v hibernate . >> >> mam triedu A ktora ma List objektov typu B >> >> List<B> bList = new ArrayList<B>(); >> >> teda v DB mam 3 tabulky, jednu pre entitu A druhu pre list bList >> (tabulku oznacme AB), s cudzim klucom na tabulku A a s cudzim klucom >> do tabulky B a tretiu tabulku pre entitu B. >> >> class B { >> private Long id; >> .... >> } >> >> class A { >> @ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER) >> .... >> private Set<B> bList = new HashSet<B>(); >> } >> >> v tabulke A mam 1 zaznam, na ktory odkazuju 2 zaznamy z tabulky AB. >> >> potrebujem napisat taky SQL dotaz, ktory vyberie z tabulky A len tie >> zaznamy, ktore maju presne urcenych x zaznamov v tabulke AB. >> >> napr. vyberiem si z tabulky B zaznam s id=1 a s id=4 (teda mam 2 >> objekty typu B) a chcem najst vsetky take zaznamy z tabulky A, ktore >> maju v AB tabulke presne tieto 2 zaznamy. >> >> dufam, ze som to napisal aspon trocha zrozumitelne. >> >> dakujem >> >> Ivan >> > > > > -- > Ondra Medek >
