为什么Hibernate saveOrUpdate对于阿拉伯数据失败?

时间:2018-12-16 23:16:32

标签: mysql hibernate netbeans arabic

当我保存阿拉伯字符串时,数据库MySQL中的结果就是?

在表结构中,列的编码为UTF-8,还有其他阿拉伯数据,这意味着问题来自Hibernate 4.3,当我查看文档Developer Guide时仅仅是与编码,UTF,阿拉伯语..相关的一门课程,他们建议添加@Nationalized注释,我这样做是没有用的。

通过调试,阿拉伯字符串仍在对象中,直到:

session.saveOrUpdate(myObj);

那之后我不知道发生了什么。

我正在Netbeans上进行开发,谢谢您的帮助。

2 个答案:

答案 0 :(得分:2)

尝试通过指定useUnicodecharacterEncoding将其放在数据源的下方。

jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8

如果您使用的是Spring Boot,请将它放在application.properties文件的下面。

spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;

请参见use-useunicode-yes-characterencoding-utf-8

答案 1 :(得分:0)

您必须为架构和表指定字符集,只需根据以下链接更改数据库的默认字符集:

Change MySQL default character set to UTF-8 in my.cnf?

如果您阅读此链接并更改设置,则必须:

首先:重新启动mysql或任何其他类似的系统(systemctl启动mysql)

秒::删除架构,数据库和表,然后重新创建。

这是波斯语的作品。