私は春の休止状態アプリケーションに取り組んでおり、非 ID 多対 1 関係ベースの列を使用してテーブルから削除しようとしています。エンティティ クラスは次のとおりです。
@Entity
public class Day {
@id(name = "DAY_ID")
dayId;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "DAY_ID")
List<Holiday> holidayList;
...
}
@Entity
public class Holiday {
@id(name="HOLIDAY_ID")
holidayId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "DAY_ID")
Day day;
...
}
hql を使用して休日テーブルから行を削除しようとしています。
String query = "DELETE FROM Holiday WHERE day.dayId = " + dayObject.getdayId();
Query holidayDeleteQuery = getSession().createQuery(query);
holidayDeleteQuery.executeUpdate();
コンソールで適切な削除クエリを取得していますが、DB をチェックすると、行がまだ存在することがわかりましたが、現在、休日テーブルの DAY_ID 列は null です。なぜこれが起こっているのか理解できませんか?
編集:助けて!!! 私の主な問題は、DAY_ID 列が null 値に変更される理由です??