我的user.java中有这个:
@Entity
@Table(name="users")
public class Users_Model implements Serializable{
@Id @GeneratedValue
private Long id;
@ColumnTransformer(
read="AES_DECRYPT(userName, 'Hf7p4u6e')",
write="AES_ENCRYPT(?, 'Hf7p4u6e')")
}
我使用aes_decrypt检索数据库中加密的值。我的问题是它只解密英文字符而不是日文或中文字符。我得到的输出是:Hello ����������
它应该是:Hello 한국어/조선말
。
我试图显示查询,这就是我得到的:
select message_mo0_.id as id0_, CONVERT(AES_DECRYPT(message_mo0_.createdBy, 'Hf7p4u6e') message_mo0_.USING message_mo0_.utf8) as userName_, from users message_mo0_
正如您所看到的,它会在using utf8
的查询中附加表别名,因此我每次都会error sql syntax correct
。我的问题是有一种方法告诉hibernate不要附加表别名。我想生成一个查询,看起来像using utf8
没有附加表别名:
select message_mo0_.id as id0_, CONVERT(AES_DECRYPT(message_mo0_.createdBy, 'Hf7p4u6e') USING utf8) as userName_, from users message_mo0_
我已经被困在这里将近4天了。请帮忙。提前谢谢