Hibernate在查询中追加表别名。

时间:2015-09-13 03:38:03

标签: java mysql hibernate

我的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天了。请帮忙。提前谢谢

0 个答案:

没有答案