inj*_*eer 7 java postgresql hibernate jpa jsonb
我需要针对 Postgres 列触发选择查询jsonb
:
entityManager.createNativeQuery(
"select * from table where jsonbcol -> 'usernames' ? :un"
).setParameter("un", userName).getResultList()
Run Code Online (Sandbox Code Playgroud)
运行时抛出异常:
org.hibernate.engine.query.ParameterRecognitionException: Mixed parameter strategies -
use just one of named, positional or JPA-ordinal strategy
Run Code Online (Sandbox Code Playgroud)
我尝试像\\?
和 一样逃避??
,但这没有帮助。
如何正确地进行该调用?
正确的转义序列使查询如下所示:
entityManager.createNativeQuery(
"select * from table where jsonbcol -> 'usernames' \\?\\? :un"
).setParameter("un", userName).getResultList()
Run Code Online (Sandbox Code Playgroud)
反斜杠转义了hibernate参数检测,两个问号是JDBC转义。
归档时间: |
|
查看次数: |
1616 次 |
最近记录: |