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


Odpovedet emailem