Мне нужно поставить и получить данные из MySql
с пружинной загрузкой (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