我是Hibernate Restrictions的新手,需要一些帮助:
我有一个场景,我需要找到“标识符”为“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。
有人可以帮忙吗?
答案 0 :(得分:3)
您需要使用criteria.add(Restrictions.in("identifier", ids));
,ids
应该是ArrayList
之类的集合。
注意到您的ids
已经是一个列表,您可以直接使用Restrictions.in
。