休眠 - 选择一列并获取结果作为列表



假设我有这个表:

TableName: order;
Columns: id (numeric - primary key);
Data: 1, 2, 3, 5, 7;

我有一个id的列表,我想看看其中哪些在表order中。

我直接在mysql中执行此查询:

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

我如何使用 Hibernate 执行此查询并获取包含 [1, 3](基于示例(的结果List<Integer>

您应该尝试将 id 存储在列表中,然后将它们作为参数传递给查询,这是执行查询的方法:

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();

最新更新