我正在使用AttributeConverter将MySQL JSON列转换为Object,如https://stackoverflow.com/a/31547965/1633272所述
将数据存储到MySQL中时,它工作正常,我可以在WorkBench中看到正确的值。
但是,当将该列返回给Java应用程序时,一个Unicode字符映射为3个字符。
这是一个示例,JSON字符串 “中” 只有1个用引号引起来的Unicode字符。在评估表达式窗口中,我可以看到它被映射为
0 = '"' 34 1 = 'ä' 228 2 = '¸' 184 3 = '\u00AD' 173 4 = '"' 34
我正在使用的库:
'mysql:mysql-connector-java:5.1.39', 'org.springframework.data:spring-data-jpa:1.9.0.RELEASE', 'org.hibernate:hibernate-entitymanager:5.0.6.Final',
似乎这是MySQL的已知问题:https : //bugs.mysql.com/bug.php?id=80631
此错误已在mysql-connector-java:5.1.40中修复。