2011-11-24 4 views
1

私は休止状態では、このようなHQLクエリーを書いた: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(); 

上記のクエリが正常に動作しているが、それは大文字と小文字を区別しません。パスワードに大文字と小文字を区別したい

+3

カラムの大文字と小文字の区別は、カラムとデータベースベンダーのタイプによって異なります。使用しているデータベースとパスワード列の定義方法を教えてください。 – esaj

+0

この問題をどうやって解決しましたか? –

答えて

6

私はあなたが正しい問題を解決するかどうかはわかりません。セキュリティ上の理由から、パスワードをプレーンテキストとしてDBに保存しないでください。パスワードからハッシュ(例えばMD5)を計算し、それをvarcharまたはchar(n)フィールドにヘキサ番号として格納する必要があります。「a」と「A」のハッシュが異なるため、大文字と小文字の区別は気にする必要はありません。

関連する問題