मुझे लगता है कि इस लिंक उपयोगी हो सकता है:
"क्या तुम सच में ऐसा करने की कोशिश कर रहे हैं सभी पिज्जा आदेश जहां प्राप्त करने के लिए है: http://mikedesjardins.net/2008/09/22/hibernate-criteria-subqueries-exists/
यह कैसे बना n मापदंड मौजूद है के बारे में निम्न उदाहरण में शामिल है । एक संबद्ध छोटे पिज्जा मौजूद दूसरे शब्दों में, SQL क्वेरी है कि आप का अनुकरण करने की कोशिश कर रहे हैं
SELECT *
FROM PIZZA_ORDER
WHERE EXISTS (SELECT 1
FROM PIZZA
WHERE PIZZA.pizza_size_id = 1
AND PIZZA.pizza_order_id = PIZZA_ORDER.pizza_order_id)
तरीका है कि आपको लगता है कि एक "मौजूद है" Subquery उपयोग करते हुए, इस तरह से है है:
Criteria criteria = Criteria.forClass(PizzaOrder.class,"pizzaOrder");
DetachedCriteria sizeCriteria = DetachedCriteria.forClass(Pizza.class,"pizza");
sizeCriteria.add("pizza_size_id",1);
sizeCriteria.add(Property.forName("pizza.pizza_order_id").eqProperty("pizzaOrder.pizza_order_id"));
criteria.add(Subqueries.exists(sizeCriteria.setProjection(Projections.property("pizza.id"))));
List<pizzaOrder> ordersWithOneSmallPizza = criteria.list();
और वॉयला, परिणाम में दो पिज़्ज़ाऑर्डर्स होंगे! "
स्रोत
2014-05-07 13:55:30
क्या आप अपनी पोस्ट को प्रासंगिक बिट्स को शामिल करने के लिए संपादित कर सकते हैं ताकि लिंक डाउन होने पर अभी भी मूल्य हो? – mabi