Hibernate的HQL中的查询参数值带有冒号,被当作一个参数占位符了,如何解决?

xiaoge22275 2009-12-07 01:25:55
因为HQL是事先动态生成并传入专门的方法中查询的,所以查询参数都一律写在了HQL里,由于某个字符串类型的参数值带有冒号:所以被当作是一个参数占位符了,导致执行时出错。请问如何解决呢?或者Hibernate中有无提供一些方法转义冒号成为普通字符串处理?
...全文
1469 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoge22275 2009-12-07
  • 打赏
  • 举报
回复
好像还不行。。。
2009-12-03 00:00:00我写成2009-12-03 00/:00/:00,但不行,也许是其他原因,因为代码太多了,我只是随便改了下来测。
明天有空再试一下吧。
powerowner 2009-12-07
  • 打赏
  • 举报
回复
参数这样写"\\::name",再用query.setString("name","value");
powerowner 2009-12-07
  • 打赏
  • 举报
回复
参数这样写":name",再用query.setString("name","value");
xiazhigen 2009-12-07
  • 打赏
  • 举报
回复
可以了否
xiaoge22275 2009-12-07
  • 打赏
  • 举报
回复
谢谢了哈!!之前没来得及看回复,急着用,就改用其他方法来做了,明天再试一下了warison2008的方法了,谢谢大家^_^!!
longtenggdf 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 warison2008 的回复:]
写反啦
ike '%商品/:模板%' 
[/Quote]
实在是.....太厉害了,
居然这么大....
烟雨鹏城 2009-12-07
  • 打赏
  • 举报
回复
写反啦
ike '%商品/:模板%'
烟雨鹏城 2009-12-07
  • 打赏
  • 举报
回复
"我的参数\:"
ChDw 2009-12-07
  • 打赏
  • 举报
回复
我不知道有没有转义字符,不过你也可以先这个参数值先在HQL中定义为?,再调用setString这样转递冒号作为值。虽然有点麻烦,但是在你的DAO类中处理一下就可以了
fjc04091125 2009-12-07
  • 打赏
  • 举报
回复
学习了哈哈,
xuexijava 2009-12-07
  • 打赏
  • 举报
回复
换QBC
nianzhang747 2009-12-07
  • 打赏
  • 举报
回复
转义? \
liang__ 2009-12-07
  • 打赏
  • 举报
回复
在SQL中可以用引号引起来,HQL没试过,不知道。

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧