Ik wil via een criteria query een subselect gebruiken maar het lijkt met niet te lukken. Volgende heb ik:
Ik heb een Booking class en daarin een Bag van Payment classes, ik wil nu alle boeking waarvan de som van "amount" uit de Payment klasse kleiner is dan de "advance" property uit de Booking class.
Het probleem is dat ik geen manier vind om een "gelinkte" query te maken, zoals de query nu geschreven is neemt hij de som van alle payments en niet enkel de payments horende bij een booking.
Ik heb een Booking class en daarin een Bag van Payment classes, ik wil nu alle boeking waarvan de som van "amount" uit de Payment klasse kleiner is dan de "advance" property uit de Booking class.
Het probleem is dat ik geen manier vind om een "gelinkte" query te maken, zoals de query nu geschreven is neemt hij de som van alle payments en niet enkel de payments horende bij een booking.
Java:
1
2
3
4
5
| Criteria criteria = session.createCriteria(Booking.class); .... DetachedCriteria dc = DetachedCriteria.forClass(Payment.class, "payments") .setProjection( Projections.sum("amount")); criteria.add(Subqueries.lt("advance", dc)); |
"Live as if you were to die tomorrow. Learn as if you were to live forever"