Я использую 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'
Есть идеи, как все-таки заставить это работать?