【发布时间】:2019-11-05 12:50:05
【问题描述】:
我有一个实体员工,其 status 字段为 @Enumerated,该字段在 PostgreSQL 中保存为字符串。
.
状态可以包含 3 个值:ACTIVE, INACTIVE, TRIAL。
我想要一个没有命名查询的 JPA 方法,或者 @Query Annotation,它将获取所有员工 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 数据的新手。
如果这个问题可能重复,请引导我找到正确的答案。
提前致谢。
【问题讨论】:
-
从您的方法中删除
all。应该只是findByStatusIn(List<String> status); -
你能显示更多代码吗?你怎么称呼它?如果您添加试用版或活动版,会发生什么情况?看来你没有完成。
-
你试过
findByStatusIn(List statusList)吗? -
List<Entity> findByStatusIn(List<Status> status)必须工作。如果没有,那么你真的搞砸了配置中的某个地方。 (也将类型参数添加到List)
标签: java hibernate jpa spring-data-jpa enumeration