Я пытаюсь удалить сущность "Study", которая расширяет "entry". Стратегия наследования InheritanceType.JOINED
.
Есть учебная таблица и таблица записей (с общими полями).
Определены два репозитория:
EntryRepository extends CrudRepository<Entry, String>
StudyRepository extends CrudRepository<Study, String>
Эти два репозитория расширяют данные пружины org.springframework.data.repository.CrudRepository
.
Проблема в том, что метод удаления для этих двух хранилищ не работает. Нет ошибки, нет эффекта. Для других объектов (без наследования) это работает хорошо.
Вот мой тестовый код:
System.out.println("entity exist?: " + entryRepository.existsById(entry.getId()));
System.out.println("before delete parent: " + entryRepository.count());
entryRepository.delete(entry);
System.out.println("after delete parent: " + entryRepository.count());
System.out.println("entity exist?: " + studyRepository.existsById(entry.getId()));
System.out.println("before delete child1: " + studyRepository.count());
studyRepository.delete((Study)entry);
System.out.println("after delete child1: " + studyRepository.count());
Журнал результатов:
Hibernate: select count(*) as col_0_0_ from entry entry0_ where entry0_."ID"=?
entity exist?: true
Hibernate: select count(*) as col_0_0_ from entry entry0_
before delete parent: 6
Hibernate: select count(*) as col_0_0_ from entry entry0_
after delete parent: 6
Hibernate: select count(*) as col_0_0_ from study study0_ inner join entry study0_1_ on study0_."ID"=study0_1_."ID" where study0_."ID"=?
entity exist?: true
Hibernate: select count(*) as col_0_0_ from study study0_ inner join entry study0_1_ on study0_."ID"=study0_1_."ID"
before delete child1: 3
Hibernate: select count(*) as col_0_0_ from study study0_ inner join entry study0_1_ on study0_."ID"=study0_1_."ID"
after delete child1: 3
Итак ... без удаления в журнале, без ошибок, ...: - /
Любая идея о том, как заставить это работать или как получить источник этой проблемы?
Спасибо!