toto nepomohlo :
Criteria dateValidCriteria = session.createCriteria(ObjektA.class);
dateValidCriteria.createCriteria("loads").add(disjunction).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Ivan
Richard Malaschitz wrote / napísal(a):
crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Dňa 23.3.2008, Ivan Polák <[EMAIL PROTECTED]> napísal(a):
este doplnim otazku. zvladol som vnorene criteria objekty. mam
nasledovnu situaciu:
prvy objekt A "ma" 3 load objekty.
druhy objekt A "ma" 2 load objekty.
treti objekt A "ma" 1 load objekt.
a vypis je nasledovny - teda obsahuje duplicitne polozky, pricom objekt
A by tam mal byt iba raz a nie 3x (nakolko obsahuje 3 load objekty):
prvy objektA - load1
prvy objektA - load2
prvy objektA- load3
prvy objektA - load1
prvy objektA - load2
prvy objektA- load3
prvy objektA - load1
prvy objektA - load2
prvy objektA- load3
druhy objektA- load1
druhy objektA - load2
druhy objektA - load1
druhy objektA - load2
treti objektA - load1
treti objektA - load2
podla mna asi chyba definovanie INNER_JOIN, teda:
CriteriaSpecification.INNER_JOIN ?
dakujem
Ivan
Ivan Polák wrote / napísal(a):
dakujem, toto som v dokumentacii nejako prehliadol :-(. dakujem
>
> Ivan
>
> Josef Adamčík wrote / napísal(a):
>> Trik je v tom, ze se vytvori vnoreny criteria objekt. Tedy treba:
>> session.createCriteria(A.class)
>> .(... pripadne restrikce a dalsi modifikatory pro A)
>> .createCriteria("loads").
>> . (... restrikce a modifikatory pro objekty z kolekce "loads")
>>
>> Dalsi moznosti je pouzit .createAlias(..) Obe moznosti jsou popsany zde:
>>
http://www.hibernate.org/hib_docs/reference/en/html/querycriteria.html#querycriteria-associations
>>
>>
>>
>> 2008/3/22 Ivan Polák <[EMAIL PROTECTED]>:
>>
>>> Ahojte,
>>>
>>> potreboval by som pomoct s definovanim hibernate criteria pre
>>> nasledovnu
>>> situaciu.
>>>
>>> mam objekt A, ktory ma :
>>>
>>> @OneToMany(mappedBy = "...", fetch = FetchType.LAZY, cascade =
>>> CascadeType.ALL)
>>> @JoinColumn(name = "owner_id")
>>> private List<Load> loads;
>>>
>>> objekt Load ma 2 vlastnosti - platnost od a platnost do. teda objekt A
>>> ma list objektov typu Load.
>>>
>>> ako mam napisat criteria pre vyhladavanie, ked vyhladavacie
>>> kriteria su
>>> datum-od, datum do, ak chcem prehladavat objekty A, ale tato
>>> podmienka s
>>> datumami sa vztahuje na objekty loads, teda aby sa pozrelo postupne na
>>> vsetky objekty A co mam v DB a pre kazdy objekt sa pozrelo na vsetky
>>> objekty loads typu Load, ktore k nemu patria, a vypisalo len take
>>> objekty A, ktory ma aspon jeden objekt v loads, ktory splna podmienku.
>>> neide mi o to, ako napisat criteria pre datumovu podmienku, ide mi
>>> o to,
>>> ako prehladavat nejake pole objektov patriace k "hlavnym" objektom
>>> ktore
>>> prehladavam. dufam ze som to aspon trocha zrozumitelne popisal.
>>>
>>> velmi pekne dakujem
>>>
>>> Ivan
>>>
>>>
>>
>>
>>
>
>
>