我有一个像这样的表:

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/

10-09 01:06