我正在使用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'
来准备字符串
您知道如何继续进行这项工作吗?