0

beforeUpdate()特定のドメインクラスのおよび同様のメソッドをバイパスする方法があるかどうかだけ知りたいです。

ユーザーの元のパスワードを復元するために必要です。はbeforeUpdate、2回呼び出したくないパスワードハッシュアルゴリズムを続行します。

私が思いついた唯一の解決策は、データベースへの直接接続を使用して、をバイパスすることHibernateです。これは、DBベンダーロックインなどの原因があまり好きではありません。

アドバイスありがとうございます。

4

2 に答える 2

1

ドメインにハッシュされたプロパティを配置してみませんか。

新しいパスワードを設定するときにfalseにします

beforeUpdateでは、ハッシュされたテストを行います

falseの場合、パスワードをハッシュし、ishashedをtrueに設定します

于 2013-03-20T17:49:04.377 に答える
1

HQLを使用できます。

User.executeUpdate("update User u set u.password = :password where u.id = :userId",
    [password: oldHashedPassword, userId: userId])

これでも、Hibernateとデータソースベンダーからの抽象化が使用されます。

于 2013-03-20T18:09:30.563 に答える