Hibernate: собственный запрос не может обрабатывать значение, заключенное в одинарные кавычки - PullRequest
0 голосов
/ 03 апреля 2019

Я использую Hibernate 5.4 и Postgres 10.

В моей базе данных я определил тип перечисления с именем model_type и зарегистрировал Hibernate с соответствующим UserType.

Я пытаюсь выполнить следующий запрос, но получаю исключение из-за формата одинарных кавычек, который я использую.

session.createNativeQuery("SELECT * FROM template WHERE game_model='?1'")//
   .addEntity(Template.class) //
   .setParameter(1, GameModel.SINGLE)
   .getResultList();

Исключение, которое я получаю:

java.lang.IllegalArgumentException: Could not locate ordinal parameter [1], expecting one of []

Я перепробовал много вариантов, например: ..game_model=':model' и .setParameter("model", GameModel.SINGLE)

Единственное, что делает эту работу, - это если я подготовлю строку, используя String.format с '%s'

Есть идеи, как все-таки заставить это работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...