假如A表有字段demo1数据为"abCDeFg"; 
当查询参数 demo1 = "abCD"; 
比如 HQL: from A where cloumn1 like '%+demo1+%';//这样就能查到 但是,当demo1 = "ABc"时候,也要能够查询得到数据。请问这该怎么办啊?也就是不区分大小写,都要能够查得到

解决方案 »

  1.   

    在java中,先用"aB".toLowerCase()转成小写,然后sql中也加上toLower
      

  2.   


    你这样写是不规范,也是不安全的,应该通过参数的形式给赋予条件我认为应该:
    from A where cloumn1 like ?  
    或者 from A where cloumn1 like :varQuery setParameter(int position, Object val, Type type) 你再试下
      

  3.   


    解决办法:
    1. 同时转换成大写或小写:from A  where upper/lower(cloumn1) like %'+ABC/abc+'%';
    2.使用正则表达式.
      

  4.   

    与hibernate无关
    oracle数据库?用upper或者lower转化
      

  5.   

    sql语句中用upper或lower函数转化就可以了
      

  6.   

    是的与Hiberante没有什么关系的
    是数据库的格式使用upper或lower函数转化就可以了
      

  7.   

    用touppercase()和tolowercase()方法进行转换就可以了