春データ-JPAはセーブ:ありませんNULLとして保存された関連エンティティを

ナリマン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.PersistTimetableCell内のフィールドから。それは私のために動作しますが、私は何が問題だったことを知りません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=210266&siteId=1