如何在休眠标准中检查区分大小写

时间:2010-04-29 07:21:52

标签: hibernate

0投票明星

我已经使用hibernate从mysql数据库中获取登录信息。但问题是,例如用户名是数据库中的'dhiraj',现在通过输入用户名登录成功,但它也允许通过取大写的用户名输入,例如'DHIRAJ ”。我想将它限制在数据库中。你能告诉我如何在休眠中实现这个目标吗?

1 个答案:

答案 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
###########