我是 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/