我的用户身份验证表“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.
我想将盐和密码保存在数据库中的 byte[] 中。
我错过了什么吗?