我有一个像这样的表:
Users (user_id, name, age, country_id)
现在我想要一个查询:
SELECT *
FROM users
where country_id in (1,2,3,4,5)
没有与用户的关系,我只是想在没有任何关联的情况下执行此操作。
我想用Criteria查询来做到这一点。
我看到了限制,但不确定它是否具有where in子句:
sessionFactory.getCurrentSession().createCriteria(User.class)
.add(Restrictions.eq("country_id", countryId)
.list();
所以我的更改是,我有一个需要传递的国家/地区ID列表(列出countryIDs)。
最佳答案
您是否要在(...)中输入“ country_id”?
如果是,则:
sessionFactory.getCurrentSession().createCriteria(User.class)
.add(Restrictions.in("countryId", countryIds)
.list();
我还使用了“ countryId”-在条件中,您使用属性名称,而不是表列名称。
关于java - hibernate 子查询中的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10066703/