私は以下のリンクから来ました:https://stackoverflow.com/a/9372684/574460。 私は、リンク先のコードを使ってバイナリデータをデータベースに格納することができました。私は迅速に参照のために再びそれを置くでしょう:特別更新CRUDモジュール
@Column(columnDefinition="BYTEA NOT NULL", nullable=false) @Password
public byte[] password;
@Required @Password @Transient
public String hash;
@ManyToOne
@Required
public Departamento departamento;
@PrePersist
@PreUpdate
public void hashPassword() throws Exception {
this.password = Crypto.passwordHash(this.hash, Crypto.HashType.SHA512).getBytes();
System.out.println(this.password);
}
今の問題は、私はパスワードを更新することはできませんです。空テンプレートのようにデータを取得するようにショーテンプレートを変更しましたが、データを更新できません。 @PreUpdateアノテーションの追加は、それが行うべき方法では機能していないようです。
私は何ができますか?アドバイスをいただければ幸いです。
UPDATE:@grahamrbが推薦したよう
、私がデータのみを保存して更新するsetメソッドをオーバーライドする必要がありそうです。ありがとう@グラハムブ
()_メソッドを使用し、そこにあなたのハッシュアルゴリズムを持っていますか? – grahamrb
どうすればいいですか 'code' public void setHash(String hash){ this.hash = Crypto.passwordHash(hash).getBytes(); } 'code'で十分でしょうか?私もゲッターをする必要がありますか? – JuanToroMarty