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

1 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();
Run Code Online (Sandbox Code Playgroud)

上面的查询工作正常,但它不区分大小写.我想将区分大小写应用于密码.

Bor*_*ška 6

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