【发布时间】:2015-04-10 00:24:47
【问题描述】:
我的问题是我尝试在查询中插入包含 char : 的文本
我尝试在 char : 之前添加双反斜杠 // 但仍然无法正常工作。
ABNORMALLY.java.lang.IllegalArgumentException:
org.hibernate.QueryException: Space is not allowed after parameter prefix ':'
INSERT INTO TABLE_A (A_ID, TYPE_ID, F_ID, REFNO, RECORD) VALUES
( A_ID_SEQ.nextval, 4 , 9 , 'NY167', q'[LA2010167|SNIP' N CLIP|LMG|1.Unit no\\: 1046, 1 st Floor, Limbang Plaza, 98700 Limbang|2010-12-10||]')
【问题讨论】:
-
将查询用单引号括起来似乎是错误的。这是在什么背景下出现的?
-
这里回答了类似的问题stackoverflow.com/a/9461939/4454454
-
@NathanHughes 我只是更新信息。没有单引号用于括起查询。这是我将查询放入 log.info()
-
@MaxZoom 以一种方式使用拦截器,但我真的不知道如何编码。我更喜欢其他更快的方式,例如添加额外的双反斜杠以使其工作。
-
将值作为参数添加而不是硬编码不是更容易吗?这样,当 hibernate 解析这个寻找命名参数时,它们就会不受影响。