java - Hibernate 限制 - 如何查询多个值?

标签 java hibernate hibernate-criteria restrictions

我是 Hibernate 限制的新手,需要一些帮助:

我有一个场景,我需要查找“标识符”为“HB001”或“HB002”、“HB003”和“HB004”的所有记录。也就是说,它应该返回4行,每行的“标识符”为“HB00*”。

//here is the code
Criteria criteria = hibernateSession.createCriteria(ENTITY_CLASS); 

List<String> ids = getIds(); //ids contains "HB001", "HB002", "HB003", "HB004" and I am sure this step has no issue. 
criteria.add(Restrictions.eq("identifier", ids));
...

看起来 criteria.add(Restrictions.eq("identifier", ids)) 不正确,查询返回 null。

有人可以帮忙吗?

最佳答案

您需要使用criteria.add(Restrictions.in("identifier", ids));并且您的ids应该是一个类似于ArrayList的集合.

刚刚注意到您的ids已经是一个List,您可以直接使用Restrictions.in

关于java - Hibernate 限制 - 如何查询多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25900962/

相关文章:

java - Fxml 需要获得与其所在的 fxml 相同的 Controller

java - Hibernate 或 JPA 中的 `SELECT COUNT(*) FROM (SELECT DISTINCT ...)`

java - 如何进行 Hibernate 嵌套选择?

grails - Grails具有许多条件和标准无法按预期运行

java - 执行 SQL 的标准是什么?

java - 不使用中间文件直接从SFTP下载文件到HTTP响应

java - 关于 "conditional"方法的返回样式是否存在一般性争论?

java - 从 PDF 图像中提取文本

java - 使用 CriteriaBuilder 一次删除多个对象

java - 当检测到类扩展了 Enum 时,如何调用其 valueOf() 方法?