java - 如何将 JSON 中的列表对象放入 MySQL
问题描述
我需要MySql
使用 spring boot ( Hibernate
, Jackson
)放置和获取数据
样品JSON
:
[
{
"name": "Product1",
"colors": [
{
"color": [
"#dddd33",
"#676767"
]
},
{
"color": [
"#FFdDFF"
]
}
]
}
]
同样JSON
我想收到但添加了“id”。我应该怎么做才能实现这一目标?
目的:
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@JsonProperty("name")
private String name;
@JsonProperty("colors")
@OneToMany(mappedBy = "product_id")
private Set<Color> colors;
}
@Entity
public class Color {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private Long product_id;
@JsonProperty("color")
@CollectionTable(name = "color", joinColumns = @JoinColumn(name = "color_id"))
@Column(name = "color")
@ElementCollection
@OrderBy
private List<String> color;
}
这不起作用我得到错误
java.sql.SQLException: Field 'id' doesn't have a default value
解决方案
推荐阅读
- c - 如何运行在最快线程完成后停止的并行线程(C、pthreads 或 openmp)
- python - 有效地将大数据传递给 python 3 函数
- excel - 跨工作表的 Excel 公式:如果 a=x,b=y,则 c=z
- css - 试图在即将被删除的 GridView 行上应用样式
- node.js - 使用 node.js 的可扩展架构
- python - 异常终止 multiprocessing.map
- python - 大写并替换列数据框中的空格
- ruby-on-rails - 每个应用程序保留/限制乘客线程
- symfony - Symfony 3.4 主机进入 heroku:服务器返回“500 内部服务器错误”
- javascript - 从 React 中的 material-ui 按钮获取值