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