Как использовать содержит в JPQL - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь преобразовать следующий запрос LinQ в JPQL.Я не знаю, как использовать contains в jpql.Я попробовал, как показано ниже, но я получаю ошибку

Синтаксис запроса LinQ

var Rooms = from rooms in EspaceDB.Rooms
                            where roomIDList.Contains(rooms.nRoomID.ToString())
                            select rooms;

Синтаксис запроса JPQL

Я пытаюсь:

@Query("select room from Room as room where roomIDList.contains(room.nRoomId.ToString())")
    List<Room> recoverDeletedRoom(@Param(value = "roomIDList") String[] roomIDList);

И:

@Query("select room from Room as room where contains(room.nRoomId,roomIDList)")
  List<Room> recoverDeletedRoom(@Param(value = "roomIDList") String[] roomIDList);

Ошибка:

antlr.NoViableAltException: неожиданный узел AST:

1 Ответ

0 голосов
/ 20 декабря 2018

Это должно работать для вас:

@Query("select room from Room room where room.id IN (:roomIDList)")
List<Room> recoverDeletedRoom( @Param("roomIDList") List<String> roomIDList);
...