Toto jsme svého času řešili nějak takto:
StringBuffer hql = new StringBuffer("SELECT FROM ..... WHERE 1 = 1 ");
//libovolná sekvence posloupnost / cyklus přidávající pro X podmínku:
hql.append(" AND :bX MEMBER OF a.bs ");
...
funguje pro 0 .. n podmínek.
Pěkný den,
Standa
Dne 11.8.2010 15:43, Ivan Polak napsal(a):
dakujem za odpovede, toto by sa dalo pouzit, ale ja nemam stale iba 2
prvky, teda nie je stale zistovanie "auto", "bicykel", select by mal
byt vseobecny, niekde potrebujem zistit "auto", "motorka", "skuter".
dakujem
Ivan
2010/8/11 Stanislav Hybášek - MoroSystems<[email protected]>:
Co něco takového? Toto by myslím mělo být funkční, nevím nakolik optimální
řešení problému..
SELECT a FROM A a WHERE :b1 MEMBER OF a.bs AND :b2 MEMBER OF a.bs
query.setParameter("b1", auto);
query.setParameter("b2", bycikl);
Ahoj,
Standa
Dne 11.8.2010 07:52, Ondřej Fafejta napsal(a):
Zdravím,
nestačilo by něco takového?
(píšu to z hlavy, určitě tam bude nějaká chyba)
Class A {
...
@ManyToMany
List<B> bs
JPA QL:
SELECT DISTINCT a FROM A a JOIN a.bs b WHERE b.id IN (1,2)
Fafi
2010/8/10 Ivan Polak<[email protected]>:
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