我可以在HQL中进行区分大小写的比较吗?

时间:2011-11-24 17:27:29

标签: hibernate hql case-sensitive

我在Hibernate中编写了这样的HQL查询:

User userLogIn = (User) entityManager
       .createQuery("from User as u where u.userName=:uname and u.passWord=:pwd")
       .setParameter("uname", user.getUserName())
       .setParameter("pwd", user.getPassWord()).getSingleResult();

以上查询工作正常,但不区分大小写。我想将区分大小写应用于密码。

1 个答案:

答案 0 :(得分:6)

我不确定你是否解决了正确的问题。出于安全原因,您不应将密码以明文形式保存到DB中。您应该从密码计算哈希值(例如MD5)并将其作为六进制数存储到varchar或char(n)字段中 - 您不需要关心区分大小写,因为“a”和“A”的哈希值不同。 / p>