0投票明星
我已经使用hibernate从mysql数据库中获取登录信息。但问题是,例如用户名是数据库中的'dhiraj',现在通过输入用户名登录成功,但它也允许通过取大写的用户名输入,例如'DHIRAJ ”。我想将它限制在数据库中。你能告诉我如何在休眠中实现这个目标吗?
答案 0 :(得分:1)
我认为hibernate不是问题所在。
您使用的数据库是什么? (你应该重新提出你的问题,至少要添加你正在使用的数据库实现)。
例如,mysql默认不进行区分大小写的比较。请看这里:http://mysqldatabaseadministration.blogspot.com/2006/09/case-sensitive-mysql.html关于如何让mysql做区分大小写的比较。
编辑: 就像在我粘贴的链接中说的那样,你可以在创建表格时通过设置一个特殊的字符集来完成它,如下所示:
###########
# Start case sensitive collation example
###########
mysql> create table case_cs_test (word VARCHAR(10)) CHARACTER SET latin1 COLLATE latin1_general_cs;
Query OK, 0 rows affected (0.08 sec)
mysql> INSERT INTO case_cs_test VALUES ('Frank'),('Google'),('froogle'),('flickr'),('FlicKr');
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM case_cs_test WHERE word LIKE 'F%';
+---------+
| word |
+---------+
| Frank |
| FlicKr |
+---------+
4 rows in set (0.00 sec)
mysql> SELECT * FROM case_cs_test WHERE word LIKE 'f%';
+---------+
| word |
+---------+
| froogle |
| flickr |
+---------+
2 rows in set (0.00 sec)
###########
# end
###########