Tôi có một đến nhiều mối quan hệ giữa đội và Player, tôi có thể tạo ra một đội với JSON saudữ liệu Xuân nghỉ ngơi một đến nhiều đứa trẻ delete đối tượng
{
"id": 1,
"name": "MyTeam5",
"players": [
{
"name": "player5"
},
{
"name":"player10"
}
]
}
Tuy nhiên, khi tôi cố gắng xóa một đối tượng trẻ em bằng cách loại bỏ nó khỏi danh sách với JSON sau
{
"id": 1,
"name": "MyTeam5",
"players": [
{
"id": 2
"name": "player5"
}
]
}
tôi nhận được một lỗi nói
"A collection with cascade=\"all-delete-orphan\" was no longer referenced by the owning entity instance: org.a.c.domain.user.Team.players"
Đây là mã tổ chức của nhóm và người chơi của tôi -
@Data
@Entity
public class Team {
@Id
@GeneratedValue
private Integer id;
private String name;
@JsonManagedReference
@OneToMany(mappedBy="team", cascade= CascadeType.ALL, orphanRemoval=true)
List<Player> players = new ArrayList<Player>();
}
@Data
@Entity
public class Player {
@Id
@GeneratedValue
private Integer id;
private String name;
@JsonBackReference
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
}
Tôi đang làm gì sai? Jackson có thể lập bản đồ từ một đến nhiều mối quan hệ một cách hoàn hảo khi tôi tạo một Nhóm mới với nhiều người chơi nhưng khi tôi cập nhật/xóa các cầu thủ khỏi Team json, nó không thành công với cùng một lỗi. Có thể là bộ sưu tập được tái tạo đó là lý do tại sao hibernate ném lỗi, nếu vậy làm thế nào tôi nên sửa chữa nó? Vui lòng giúp
Mã này sẽ đi đâu? Câu hỏi này dành riêng cho phần còn lại của dữ liệu vào mùa xuân, có cách nào để giải quyết tình huống này không? – Jay
Mã này sẽ là setter bên trong thực thể jpa. Tôi không biết bất kỳ cách nào cụ thể về mùa xuân-dữ liệu này. –
Làm cho tinh thần, cảm ơn. – Jay