如何通过多个字符串值查找全部?
How to findAll by multplie string values?
我有一个实体员工,它的 status
字段为 @Enumerated
,在 PostgreSQL
中保存为字符串。
.
status 可以包含 3 个值:ACTIVE, INACTIVE, TRIAL
。
我想要一个没有命名查询的 JPA 方法,或者 @Query
将获取所有员工的注释 where status = 'ACTIVE' or 'TRIAL'.
.
`findAllByStatusIn(List statusList)'
仅将最后添加的状态提供给列表。
即,如果我添加
statusList.add(Status.ACTIVE)
statusList.add(Status.TRIAL)
。
那么我只有 TRIAL
名员工
.
但是如果我添加
statusList.add(Status.TRIAL);
statusList.add(Status.ACTIVE);
如何使用 JPA 方法获取两种状态的值?
感谢任何帮助。
JPA 和 Spring 数据的新功能。
如果这个问题可能重复,请指导我找到正确答案。
提前致谢。
在尝试了以上宝贵意见的几个版本后,我找到了基于状态列表获取的正确方法。
Page<Employee> findAllByStatusIn(List<Status> statusList, Pageable pageable);
按预期工作。
也提供可分页的信息。我还尝试从方法中删除 All
关键字。
这也是一样的:
Page<Employee> findByStatusIn(List<Status> statusList, Pageable pageable);
由于是一次获取多条记录,为了便于理解,我保留了All
关键字。
不过我觉得没有必要。
我有一个实体员工,它的 status
字段为 @Enumerated
,在 PostgreSQL
中保存为字符串。
.
status 可以包含 3 个值:ACTIVE, INACTIVE, TRIAL
。
我想要一个没有命名查询的 JPA 方法,或者 @Query
将获取所有员工的注释 where status = 'ACTIVE' or 'TRIAL'.
.
`findAllByStatusIn(List statusList)' 仅将最后添加的状态提供给列表。
即,如果我添加
statusList.add(Status.ACTIVE)
statusList.add(Status.TRIAL)
。
那么我只有 TRIAL
名员工
.
但是如果我添加
statusList.add(Status.TRIAL);
statusList.add(Status.ACTIVE);
如何使用 JPA 方法获取两种状态的值?
感谢任何帮助。
JPA 和 Spring 数据的新功能。
如果这个问题可能重复,请指导我找到正确答案。
提前致谢。
在尝试了以上宝贵意见的几个版本后,我找到了基于状态列表获取的正确方法。
Page<Employee> findAllByStatusIn(List<Status> statusList, Pageable pageable);
按预期工作。
也提供可分页的信息。我还尝试从方法中删除 All
关键字。
这也是一样的:
Page<Employee> findByStatusIn(List<Status> statusList, Pageable pageable);
由于是一次获取多条记录,为了便于理解,我保留了All
关键字。
不过我觉得没有必要。