hibernate根据某个字段搜索时需不需要加单引号

qq_24229815 2018-04-27 04:30:37
今天写代码的时候遇到一个问题:根据部门ID搜索项目:
部门id在实体类的定义是:private String orgId; //归口单位id
在数据库是:VARCHAR2(20)
当查询时select * from ... where orgId in(9007,9005)
select * from ... where orgId in('9007','9005'),两种查询方式都不会报错
...全文
813 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-04-27
  • 打赏
  • 举报
回复
在数据库是:VARCHAR2(20) 当查询时select * from ... where orgId in(9007,9005) select * from ... where orgId in('9007','9005'),两种查询方式都不会报错 因为你的字段类型是 varchar型,而 where orgId in(9007,9005) 写了两个数值,这里就存在一个隐式转换,即 OrgId 转换成数值型后,才做的比较,肯定用不到索引 如果 你的数据库中,存了一个不 纯数字的 orgid ,那么第一个语就会出错。 所以,你要用第二种。

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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