java - 标准 API IN 与 ArrayList

标签 java spring spring-mvc criteria

Criteria 可以在“IN”表达式中使用 List 吗?

例如:

List<Long> ids = new ArrayList<>();
        ids.add(1L);
        ids.add(2L);
        ids.add(3L);

我想找到所有带有 1, 2, 3 的 id

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
    CriteriaQuery<User> userQuery = criteriaBuilder.createQuery(User.class);
    Root<User> userRoot = userQuery.from(User.class);
    userQuery.select(userRoot);
    userQuery.where(userRoot.get("id").in("1","2","3"));

如何使用 List 而不是这个?

最佳答案

这将起作用,仅使用 id 作为“ín”方法中的参数


List<Long> ids = new ArrayList<>();
    ids.add(1L);
    ids.add(2L);
    ids.add(3L);
CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
    CriteriaQuery<User> userQuery = criteriaBuilder.createQuery(User.class);
    Root<User> userRoot = userQuery.from(User.class);
    userQuery.select(userRoot);
    userQuery.where(userRoot.get("id").in(ids));

关于java - 标准 API IN 与 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51583079/

相关文章:

c# - 桌面应用程序的推送通知?

java - Spring + GWT 项目 - 对每个用户操作执行处理程序

spring - 除了 jdbcTokenStore 之外,如何将 token 存储在数据库中?

java - 如何将对象作为参数传递给 onClick 上的 javascript 函数

java - Android 项目中的红色感叹号 - 但它在我的苹果上运行良好

java - 如何在 if 语句中返回字符串?

java - 在java中删除数据文件的部分内容

java - Spring 中使用泛型嵌套 Autowiring

spring-mvc - Spring MVC - 我可以在 RestController 中 Autowiring HttpServletRequest

Spring Boot CORS 过滤器 - CORS 预检 channel 未成功