[英]How to use enum in where clause as constant check in jpa
我是jpa的新手,正在尝试编写查询。 查询与枚举有关。 我有一个枚举,我想基于枚举获取记录。
在下面的查询deviceStatus是一个枚举。 当我定义lk.deviceStatus = LOCKER_CLOSE给出错误时:
“ where子句”中的未知列“ LOCKER_CLOSE”
@Query("SELECT lk from Locker lk where lk.terminal.id=:terminalId
and lk.deviceStatus =LOCKER_CLOSE and lk.isEmpty =true
and :size IS NULL OR lk.lockerSize=:size")
public List<Locker> testOneFunction(@Param("terminalId") String
terminalId, @Param("size") LockerSize size);
尝试使用完全合格的枚举类,例如
SELECT lk from Locker lk where lk.terminal.id=:terminalId
and lk.deviceStatus = com.somepackage.MyStatusEnum.LOCKER_CLOSE
and lk.isEmpty =true and :size IS NULL OR lk.lockerSize=:size
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.