java - Hibernate where 子查询

标签 java hibernate

我有一个像这样的表:

Users (user_id, name, age, country_id)

现在我想要一个如下查询:

SELECT *
FROM users
where country_id in (1,2,3,4,5)

用户没有任何关系,我只想在没有任何关联的情况下执行此操作。

我想通过条件查询来执行此操作。

我看到了限制,但不确定它是否有 where in 子句:

sessionFactory.getCurrentSession().createCriteria(User.class)
  .add(Restrictions.eq("country_id", countryId)
  .list();

所以我的更改是我有一个需要传递的国家/地区 ID 列表(List CountryIds)。

最佳答案

您想要“country_id in (...)”吗?

如果是,那么:

sessionFactory.getCurrentSession().createCriteria(User.class)
 .add(Restrictions.in("countryId", countryIds)
 .list();

我还使用了“countryId” - 因为在标准中您使用属性名称,而不是表列名称。

关于java - Hibernate where 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066703/

相关文章:

java - 对包含子类的数组列表进行排序

java - 使用 JPA ManytoOne 从父表中检索字段

java - 如何在hibernate中使用注解实现映射?

java - 监视 EclipseLink JPA 进度

java - 如何使用 spring 从属性文件加载 map

java - 从 java WS 生成 WSDL

java - 在对象图中检测到循环。这将导致无限深的 XML

java vector : Warning while adding objects

java - 重定向JSP页面错误扩展名

java - 为什么我会收到 JPQL NullPointerException 异常以及如何修复它?