Каковы недостатки использования cascadetype = all в обоих направлениях в отношении «один ко многим»?
У меня есть класс отдела и буквенный класс (каждая буква находится в одном отделе)
Когда я использую атрибут cascade на стороне отдела, я могу добавить новую букву, но я не могу ее отредактировать, когда я заменяю ее на сторону буквы, я могу редактировать существующую букву, но я ' я не могу добавить новый
Если у вас есть какая-либо хорошая ссылка для понимания использования каскадных типов, пожалуйста, отошлите мне ее
И я действительно застрял с этой проблемой, заранее спасибо
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "dept")
private int id;
@Column(length = 512)
private String name;
@OneToMany(mappedBy = "department", cascade = CascadeType.ALL)
@JsonIgnore
private Set<ActiveUser> activeUsers;
@OneToMany(mappedBy = "department", cascade = CascadeType.ALL)
@JsonIgnore
private Set<Letter> letters;
}
public abstract class Letter {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
private Long id;
@NotNull(message = "{field.null}")
private Long number;
@NotNull(message = "{field.null}")
@ManyToOne
private Department department;
@ManyToMany(cascade={CascadeType.ALL})
@JoinTable(name="SENT_RECEIVED",
joinColumns={@JoinColumn(name="LETTER_ID")},
inverseJoinColumns={@JoinColumn(name="LINKED_ID")})
private Set<Letter> links = new HashSet<>();
@ManyToMany(mappedBy="links")
private Set<Letter> letters = new HashSet<>();
}
EDIT
Что произойдет, если я полностью уберу каскадный атрибут?
Это хорошая практика или нет?