मान लें कि मेरे पास यह तालिका है:

TableName: order;

Columns: id (numeric - primary key);

Data: 1, 2, 3, 5, 7;

मेरे पास ids की एक सूची है और मैं देखना चाहता हूं कि उनमें से कौन सा तालिका order में है।

मैं इस क्वेरी को सीधे MySQL में निष्पादित करता हूं:

SELECT id FROM orders WHERE id IN (1, 3, 11, 17);

मैं इस क्वेरी को हाइबरनेट के साथ कैसे निष्पादित कर सकता हूं और परिणाम List<Integer> प्राप्त कर सकता हूं जिसमें [1, 3] (उदाहरण के आधार पर) शामिल है।

0
KunLun 9 सितंबर 2019, 17:52

1 उत्तर

सबसे बढ़िया उत्तर

आपको आईडी को सूची में संग्रहीत करने का प्रयास करना चाहिए, फिर उन्हें पैरामीटर के रूप में क्वेरी में पास करना चाहिए, हालांकि आपकी क्वेरी निष्पादित करने का यह तरीका है:

List<Long> ids = Arrays.asList(1, 3, 11, 17);
Query query = em.createQuery("SELECT id FROM orders WHERE id IN (?1)");
query.setParameterList(1, ids) ; 
List<Integer> id_result = query.getResultList();
2
nassim 9 सितंबर 2019, 15:42