Проблема с 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)

Ответы (0 шт):