我只是好奇,如果有一種方法可以繞過beforeUpdate()
和某個域類的類似方法。Grails繞過域類的更新方法
我需要它來恢復用戶的原始密碼。 beforeUpdate
執行我不想調用兩次的密碼散列算法。
我能想出的唯一解決方案是使用直接連接到數據庫,因此繞過Hibernate
。這我不喜歡數據庫供應商鎖定等很多原因。
感謝您的任何建議。
我只是好奇,如果有一種方法可以繞過beforeUpdate()
和某個域類的類似方法。Grails繞過域類的更新方法
我需要它來恢復用戶的原始密碼。 beforeUpdate
執行我不想調用兩次的密碼散列算法。
我能想出的唯一解決方案是使用直接連接到數據庫,因此繞過Hibernate
。這我不喜歡數據庫供應商鎖定等很多原因。
感謝您的任何建議。
你爲什麼不把ishashed財產上的域....
你把它誤當你設置新密碼
在您的測試ishashed
如果更新前假你哈希ishashed真
您可以使用HQL密碼和設置:
User.executeUpdate("update User u set u.password = :password where u.id = :userId",
[password: oldHashedPassword, userId: userId])
這仍然使用Hibernate及其數據源供應商的抽象。
我之前正在考慮這個解決方案,但發現了一些問題。但實際上沒有 - 非常直接的解決方案。謝謝! – kuceram 2013-03-21 09:08:41