OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Jaroslav Hurdes
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil nacist 
Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii vytvorit 
ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes


Re: OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Pavel (Michal) Pavlasek

mozno som to nepochopil, ale nie je to obycajny or?
crit.add(Restrictions.or(
   Restrictions.eq(entA.text, "bl"),
   Restrictions.eq(entB.text, "bl")));

+asi pozrite v dokumentacii ako sa robia aliasy, ak chcete "nested" 
properties

metoda createAlias v Criteria, ak sa dobre pamatam.

s pozdravom
CoPLaS

Jaroslav Hurdes  wrote / napísal(a):
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil nacist 
Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii vytvorit 
ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes


Re: OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Pavel (Michal) Pavlasek

chybaju mi tam niekde uvodzovky, tak sa necudujte :)
pisal som to z hlavy.

sorry
CoPLaS

Pavel (Michal) Pavlasek  wrote / napísal(a):

mozno som to nepochopil, ale nie je to obycajny or?
crit.add(Restrictions.or(
   Restrictions.eq(entA.text, "bl"),
   Restrictions.eq(entB.text, "bl")));

+asi pozrite v dokumentacii ako sa robia aliasy, ak chcete "nested" 
properties

metoda createAlias v Criteria, ak sa dobre pamatam.

s pozdravom
CoPLaS

Jaroslav Hurdes  wrote / napísal(a):
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil nacist 
Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii 
vytvorit ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes


Re: OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Jaroslav Hurdes

Bohuzel toto mi nefunguje a vyhodi mi vyjimku:

org.hibernate.QueryException: could not resolve property: entA.text of:
Entita2

property je namapovana jako:


 
   
 
   
   


   
   


Jaroslav Hurdes

Pavel (Michal) Pavlasek napsal(a):

mozno som to nepochopil, ale nie je to obycajny or?
crit.add(Restrictions.or(
   Restrictions.eq(entA.text, "bl"),
   Restrictions.eq(entB.text, "bl")));

+asi pozrite v dokumentacii ako sa robia aliasy, ak chcete "nested" 
properties

metoda createAlias v Criteria, ak sa dobre pamatam.

s pozdravom
CoPLaS

Jaroslav Hurdes  wrote / napísal(a):
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil nacist 
Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii 
vytvorit ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes







Re: OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Pavel (Michal) Pavlasek

skuste prave tie aliasy pozret. to je podla mna to co potrebujete.

List cats = sess.createCriteria(Cat.class)
   .createAlias("kittens", "kt")
   .createAlias("mate", "mt")
   .add( Restrictions.eqProperty("kt.name", "mt.name") )
   .list();


dokumentacia nie je zla vec ;)
http://www.hibernate.org/hib_docs/reference/en/html/querycriteria.html

CoPLaS

Jaroslav Hurdes  wrote / napísal(a):

Bohuzel toto mi nefunguje a vyhodi mi vyjimku:

org.hibernate.QueryException: could not resolve property: entA.text of:
Entita2

property je namapovana jako:


 
   
 
   
   


   
   


Jaroslav Hurdes

Pavel (Michal) Pavlasek napsal(a):

mozno som to nepochopil, ale nie je to obycajny or?
crit.add(Restrictions.or(
   Restrictions.eq(entA.text, "bl"),
   Restrictions.eq(entB.text, "bl")));

+asi pozrite v dokumentacii ako sa robia aliasy, ak chcete "nested" 
properties

metoda createAlias v Criteria, ak sa dobre pamatam.

s pozdravom
CoPLaS

Jaroslav Hurdes  wrote / napísal(a):
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil 
nacist Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii 
vytvorit ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes







Re: OR mezi dvema svazanimi entitami a Criteria

2008-07-04 Thread Jaroslav Hurdes

Diky, toto je reseni:

Criteria c = getSession().createCriteria("Ent2");
c.add(Restrictions.eq("text", ?));
c.createAlias("entA", "eA");
c.createAlias("entB", "eB");
c.add(Restrictions.or(Restrictions.ilike("eA.text", ?),
Restrictions.ilike("eB.text", ?)));

Jaroslav Hurdes

Pavel (Michal) Pavlasek napsal(a):

skuste prave tie aliasy pozret. to je podla mna to co potrebujete.

List cats = sess.createCriteria(Cat.class)
   .createAlias("kittens", "kt")
   .createAlias("mate", "mt")
   .add( Restrictions.eqProperty("kt.name", "mt.name") )
   .list();


dokumentacia nie je zla vec ;)
http://www.hibernate.org/hib_docs/reference/en/html/querycriteria.html

CoPLaS

Jaroslav Hurdes  wrote / napísal(a):

Bohuzel toto mi nefunguje a vyhodi mi vyjimku:

org.hibernate.QueryException: could not resolve property: entA.text of:
Entita2

property je namapovana jako:


 
   
 
   
   


   
   


Jaroslav Hurdes

Pavel (Michal) Pavlasek napsal(a):

mozno som to nepochopil, ale nie je to obycajny or?
crit.add(Restrictions.or(
   Restrictions.eq(entA.text, "bl"),
   Restrictions.eq(entB.text, "bl")));

+asi pozrite v dokumentacii ako sa robia aliasy, ak chcete "nested" 
properties

metoda createAlias v Criteria, ak sa dobre pamatam.

s pozdravom
CoPLaS

Jaroslav Hurdes  wrote / napísal(a):
Zdravim vsechny. Mam nasledujici entity kde Entita2 obsahuje dve 
reference na Entitu1 spojenou pres id.


Entita1 {
   Long id;
   String text;
}

Entita2 {
   Long id;
   String text;
   Entita1 entA;
   Entita1 entB;
}


Chtel bych vytvorit dotaz pomoci kriterii, ktery by mel za cil 
nacist Entity2 podle podminky napr:


text = '?' and (entA.text = ? or entB.text = ?)

Jde mi o to, ze se mi nedari prijit na to jak pomoci kriterii 
vytvorit ten OR mezi hodnotou textu entA a hodnotou textu entB.


Dekuji Jaroslav Hurdes