Проблема с TransientObjectException
@Override
@Transactional
public void delete(UUID residentId) {
Resident resident = residentService.get(residentId);
if (resident.getPassport() != null) {
Passport passport = resident.getPassport().toBuilder()
.resident(null)
.build();
passport = passportService.save(passport);
passportService.delete(passport);
}
if (!resident.getCars().isEmpty()) {
carService.deleteAll(resident.getCars());
}
if (!resident.getHouses().isEmpty()) {
for (House house : resident.getHouses()) {
house.getResidents().remove(resident);
houseService.save(house);
}
}
residentService.delete(resident);
}
У меня есть такой метод удаления жителя. Предусматривается, что при его удалении должны удаляться все связанные с ним сущности. Почему я получаю такую ошибку? Ведь я зануляю резидента у паспорта, затем сохраняю.
persistent instance references an unsaved transient instance of 'com.education.autkincityservice.model.Passport' (save the transient instance before flushing)