Ahoj

 

Mam nasledujici sql dotaz: 

 

SELECT d.title, pod.definition 

FROM Demand d 

LEFT OUTER JOIN price_of_demand pod 

ON pod.demand_fxid = d.demand_pxid AND pod.display IS TRUE 

 

Potrebuji tento dotaz definovat pomoci Hibernate Criteria. Momentalne mam
toto:

 

Criteria criteria =
HibernateUtil.currentSession().createCriteria(Demand.class); 

criteria.createAlias("priceOfDemands", "pod", JoinFragment.LEFT_OUTER_JOIN);


ProjectionList projections = Projections.projectionList();    

projections.add(Projections.property("demandPxid")); 

projections.add(Projections.property("pod.definition")); 

criteria.setProjection(projections);

 

Problem je, ze nevim jak pomoci Criteria definovat tuto cast: pod.display IS
TRUE

 

Jen podotknu, ze kdybych pouzil nasledujici:

 

criteria.add(Restrictions.eq("pod.display", Boolean.TRUE));

 

tak to odpovida dotazu:

SELECT d.title, pod.definition 

FROM Demand d 

LEFT OUTER JOIN price_of_demand pod 

ON pod.demand_fxid = d.demand_pxid 

WHERE pod.display IS TRUE

 

coz nenĂ­ to same jako: 

SELECT d.title, pod.definition 

FROM Demand d 

LEFT OUTER JOIN price_of_demand pod 

ON pod.demand_fxid = d.demand_pxid AND pod.display IS TRUE

 

Hibernate verze: Hibernate 3.2 

Jmeno a verze databaze: PostgreSQL 8.3 

 

 

Diky lukas

 

Odpovedet emailem