ナリマンNəhmədov:
私は、エンティティの時刻表があります。
@Entity @Table(name = TableUtils.TIMETABLE)public class Timetable {
private static final long serialVersionUID = -1307879048598194633L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = ColumnUtils.ID)
private long id;
@OneToMany(mappedBy = "timetable", cascade = {CascadeType.REMOVE, CascadeType.PERSIST})
private List<TimetableCell> timetableCells;
public List<TimetableCell> getTimetableCells() {
return timetableCells;
}
public void setTimetableCells(List<TimetableCell> timetableCells) {
this.timetableCells = timetableCells;
}
}
エンティティtimetableCell:
@Entity
@Table(name = TableUtils.TIMETABLE_CELL)
public class TimetableCell extends AbstractElement {
private static final long serialVersionUID = -8083688091896353882L;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = ColumnUtils.WEEK_DAY_ID, nullable = false)
private WeekDay weekDay;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = ColumnUtils.LESSON_HOUR_ID, nullable = false)
private LessonHour lessonHour;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = ColumnUtils.TIMETABLE_ID, nullable = false)
private Timetable timetable;
...
}
最初に私は平日とLessonHoursと時刻表のセルを作成します。私は時刻表には、このリストを設定し、それを保存しようとした後。しかし、すべての時刻表のセルはヌル平日とヌルLessonHourと一緒に保存されています。私はそれをデバッグします。保存する前に、すべてのフィールドがうまくとして設定されています。
timetableRepository.save(timetable);
以下を示すデバッグ結果
ナリマンNəhmədov:
私は削除Cascade.Persist
TimetableCell内のフィールドから。それは私のために動作しますが、私は何が問題だったことを知りません。