У меня есть json, как показано ниже, которое исходит от стороннего сервиса, который я получаю через открытый симулятор.Я пытаюсь сохранить эти данные в моей базе данных MySQL, используя Spring JPA2.
[
{
"request_id": 111,
"name": "ABC",
"groups": [
{
"id": 21,
"group": "grp_A"
},
{
"id": 22,
"group": "grp_B"
}
]
},
{
"request_id": 222,
"name": "ABC",
"groups": [
{
"id": 23,
"group": "grp_C"
}
]
},
{
"request_id": 333,
"name": "ABC",
"groups": [
{
"id": 24,
"group": "grp_A"
}
]
},
{
"request_id": 444,
"name": "ABC",
"groups": [
{
"id": 25,
"group": "grp_C"
}
]
},
{
"request_id": 555,
"name": "ABC",
"groups": []
}
]
Я написал сопоставления для вышеупомянутого json, как показано ниже blow
Requests.java
@Entity
@Table(name = "requests")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Requests {
@Id
@Column(name = "request_id")
private String id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "id", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Set<Groups> groups = Sets.newHashSet();
// getters and setters
}
Groups.java
@Entity
@Table(name = "groups")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Groups{
@Id
@Column(name = "id")
private String id;
@Column(name = "group")
private String group;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "request_id")
private Requests requests;
// getters and setters
}
теперь в моем классе обслуживания я сделал, как показано ниже
List<Requests> allRequests = requestFeignClient.getRequests();
requestRepository.saveAll(allRequests);
все данные сохраняются в базе данных, кроме request_id , как показано ниже.Моя таблица ожидаемых групп также показана ниже
Может кто-нибудь сказать мне, почему request_id не сохраняется.