bohuzial ani to, skusil som este aj toto (hladam na forum.hibernate.org), ale ani toto nepomohlo:

Criteria dateValidCriteria = session.createCriteria(ObjektA.class).setFetchMode("loads", FetchMode.JOIN);

dateValidCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).createCriteria("loads").add(disjunction);

Ivan


Josef Adamčík  wrote / napísal(a):
zkuste:
dateValidCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).createCriteria("loads").add(disjunction);

2008/3/23 Ivan Polák <[EMAIL PROTECTED]>:
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
 >>  >>>
 >>  >>>
 >>  >>
 >>  >>
 >>  >>
 >>  >
 >>  >
 >>  >
 >>
 >>
 >>



Odpovedet emailem