gpt4 book ai didi

mysql - 在 JPA 查询中转义冒号字符 ':'

转载 作者:IT老高 更新时间:2023-10-29 00:05:07 28 4
gpt4 key购买 nike

我正在尝试通过使用“:”字符的 JPA 运行 native 查询。特定实例在查询中使用 MySQL 用户变量:

SELECT foo, bar, baz, 
@rownum:= if (@id = foo, @rownum+1, 1) as rownum,
@id := foo as rep_id
FROM
foo_table
ORDER BY
foo,
bar desc

JPA代码:

Query q = getEntityManager().createNativeQuery(query, SomeClass.class);
return q.getResultList();

但是,这给了我一个异常(exception),即不允许在“:”后跟一个空格。我试过用反斜杠转义它们,我试过通过将它们加倍来转义它们。有什么办法可以实际做到这一点,还是我 SOL?

最佳答案

我在使用 postgresql json function 时遇到过类似的经历在 native JPA 查询中。

select * from component where data ::json ->> ?1 = ?2

JPA 将抛出我没有设置命名参数 :json 的错误。

解决方法:

"select * from component where data \\:\\:json ->> ?1 = ?2"

关于mysql - 在 JPA 查询中转义冒号字符 ':',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169582/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com