nHibernateを使用して、名前付きクエリを使用してユーザーにログインしようとしていますが、パスワードはハッシュ化されているため、MSSQLDBにバイナリフィールドとして格納されています。ただし、ログインコードを機能させることができません。エラーが発生します:
using (var session = sessionFactory.OpenSession())
{
user = (CreamUser)session.GetNamedQuery("loginuser")
.SetString("UserName", userName)
.SetBinary("Password", hashedPassword).UniqueResult();
}
<sql-query name="loginuser">
<query-param name="UserName" type="string" />
<query-param name="Password" type="binary" />
<return alias="User" class="components.User"/>
<![CDATA[
SELECT * FROM users
WHERE username=:UserName AND
password=:Password
]]>
</sql-query>
考えられることはすべて試しましたが、これを機能させることができません。