论坛首页 Java企业应用论坛

如何让hibernate查许支持大小写区分

浏览 7212 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-11-14  
Query q = session.createQuery("from User user where user.username = :username");
q.setString("username", username);

当username= "TEST", "test", "Test"时都可以查询出test user来。请问如何避免这种情况?
   发表时间:2003-11-14  
这恐怕和你的数据库有关系吧,Hibernate无非就是把HQL翻译成sql而已。至于执行还是数据库的事情。
0 请登录后投票
   发表时间:2003-11-14  
robbin 写道
这恐怕和你的数据库有关系吧,Hibernate无非就是把HQL翻译成sql而已。至于执行还是数据库的事情。


  果然是这样,windows下的mysql默认配置字段不区分大小写

多谢robbin提醒;)
0 请登录后投票
   发表时间:2003-11-14  
http://www.fanqiang.com/a2/b1/20010514/121151.html
引用

MySQL
通常,字符串比较以大小写无关方式按当前字符集(缺省为ISO-8859-1 Latin1)决定的排序次序实施。如果你不喜欢这样,声明你的列有BINARY属性,它使得比较根据用在MySQL服务器主机上的ASCII顺序进行。
0 请登录后投票
   发表时间:2003-11-14  
yehs220 写道
http://www.fanqiang.com/a2/b1/20010514/121151.html
引用

MySQL
通常,字符串比较以大小写无关方式按当前字符集(缺省为ISO-8859-1 Latin1)决定的排序次序实施。如果你不喜欢这样,声明你的列有BINARY属性,它使得比较根据用在MySQL服务器主机上的ASCII顺序进行。


用binary属性会很慢吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics