加载中…
个人资料
iPan
iPan
  • 博客等级:
  • 博客积分:0
  • 博客访问:993,052
  • 关注人气:235
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

HQL的IN查询注意

(2014-05-07 17:22:44)
标签:

hibernate

hql

in

it

分类: J2EE笔记
    在Hibernate的HQL中使用IN查询,不注意的写法容易出现类型转换异常;
    原因是,Query接口的setParameter与setProperties处理是不同的,后者做了普通类型与集合类型的判断,前者是针对JDBC的设参,没有做判断;对于集合的参数,可以手动调用setParameterList来设置;或者借助setProperties来设值

例如:
1 from Authority t where t.function.code = ? and t.role.code in (?) 错误(通过setParameter设值)
2 from Authority t where t.function.code = ? and t.role.code in ? 错误(通过setParameter设值)
3 from Authority t where t.function.code = :funCode and t.role.code in (:roleCode) 正确(通过setProperties设值)

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有