Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL JSON数据类型/JPA编码问题_Mysql_Json_Spring Boot_Jpa_Objectmapper - Fatal编程技术网

MySQL JSON数据类型/JPA编码问题

MySQL JSON数据类型/JPA编码问题,mysql,json,spring-boot,jpa,objectmapper,Mysql,Json,Spring Boot,Jpa,Objectmapper,我对MySQL中的JSON数据类型有问题。在那个专栏里,我写的是基于斯洛文尼亚字母的值 以下是使用ObjectMapper编写的示例: { "formState": [{"label": "Zaduženi", "value": "Test 1"}, {"label": "Tip", "value": "Fizičko"

我对MySQL中的JSON数据类型有问题。在那个专栏里,我写的是基于斯洛文尼亚字母的值

以下是使用ObjectMapper编写的示例:

{ "formState": [{"label": "Zaduženi", "value": "Test 1"}, {"label": "Tip", "value": "Fizičko"}] }
我使用JPA从MySQL数据库获取数据,在有效负载中,我得到如下结果:

{ "formState": [{"label": "Zaduženi", "value": "Test 1"}] }
我用来表示这个JSON的Java数据类型是Map(HashMap)

数据源url为:
jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8&useSSL=false

有人能帮我解决这个问题吗


提前感谢。

这可能是Hibernate类型框架中的一个问题。尝试使用任何现有的测试用例复制它,并向我发送一个Pull请求,以便我能够找到问题。

UTF8被视为ASCII。您必须检查并确保数据库、表和字段都使用
utf8mb4
字符集。这一特定的破坏字母的方式似乎不在Java端。@coladict my database是通过以下命令创建的:CREATE database test\u db CHARSET utf8 COLLATE utf8\u slovenian\u ci@coladict将特定表上的字符集从utf8更改为utf8mb4没有帮助。然后,您必须使用控制台检查它是否正确存储或损坏。这将帮助你缩小问题的根源。接下来我将尝试调试应用程序。在JDBC驱动程序中的执行函数
setString(int,String)
getString(int)
上放置一个断点并禁用它们,然后在代码中的查询处放置一个断点,然后在驱动程序中启用这些断点。在执行过程中,您应该看到在哪个阶段对变量做了什么。@coladict当我将JSON更改为文本时,它工作得很好。但我需要该列为JSON类型。