EclipseLink Удалить Каскад
Я занимаюсь разработкой веб-приложения, работающего на сервере Glassfish. Я использую JPA с реализацией EclipseLink.
Это мои два класса сущностей. Я представляю отношения между ними ниже. Когда я запускаю сервер Glassfish и удаляю сущность урока, работает Каскад. Он удаляет все тестовые объекты этого. Затем я добавляю сущность урока и тестовую сущность, связанную с ним. Но когда я пытаюсь удалить сущность урока, в это время Cascade не работает и выдает ошибку "ограничение внешнего ключа". После перезапуска Сервера Cascade снова работает.??? В чем разница? Почему операция Каскад работает только при запуске?
Спасибо.
@Entity
public class Lesson implements Serializable {
...
@OneToMany( fetch = FetchType.LAZY, cascade = { CascadeType.MERGE, CascadeType.REMOVE }, mappedBy = "lesson" )
private List< Test > tests;
...
}
@Entity
public class Test implements Serializable {
...
@ManyToOne( targetEntity = Lesson.class, fetch = FetchType.LAZY )
@JoinColumn( name = "lessonNo", insertable = true, updatable = true, nullable = false )
private Lesson lesson;
...
}