私のユーザー認証テーブル「AuthUser」は次のようになります。
id bigint NOT NULL,
username character varying(255) NOT NULL,
password bytea[],
salt bytea[]
POJO 表現:
...
private byte[] password;
private byte[] salt;
...
getter setter methods
次のクエリを使用して、ソルトと暗号化されたパスワードを次のように更新しました。
@Transactional(readOnly = false)
public void updateSaltAndPasswordByUsername(String username, byte[] salt, byte[] password) {
String hql = "UPDATE AuthUser SET password= ? , salt= ? WHERE username = ? ";
sessionFactory.getCurrentSession().createQuery(hql).setBinary(0, password).setBinary(1, salt).setString(2, username).executeUpdate();
}
しかし、それは次のようにエラーを出します:
org.postgresql.util.PSQLException: ERROR: column "password" is of type bytea[] but expression is of type bytea
Hint: You will need to rewrite or cast the expression.
データベースのバイト[]にソルトとパスワードを保存したい。
私は何かを見逃していますか?