我是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);
答案 0 :(得分:1)
尝试使用完全合格的枚举类,例如
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