Я создал план класса примерно так
План:
@Entity(name = "Plan")
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class PlanEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int planId;
private String planName;
private BigDecimal pBenefitMax;
private LocalDate pStartDate;
private LocalDate pEndDate;
private int pCompanyId;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "dPlanId")
private List<DentalAgreementEntity> dentalAgreementEntities;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "pPlanId")
private List<PatientEntity> patientEntities;
}
Сущность пациента выглядит следующим образом:
@Entity(name = "Patient")
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class PatientEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int patientId;
private String firstName;
private String lastName;
private String patientEmail;
private String patientPhone;
private LocalDateTime dateOfBirth;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "tPatientId")
private List<TransactionEntity> transactionEntities;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "aPatientId")
private List<AppointmentEntity> appointmentEntities;
@ManyToOne
@JoinColumn(name = "pPlanId")
private PlanEntity planEntity;
}
И объект соглашения выглядит так:
@Entity(name = "DentalAgreement")
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class DentalAgreementEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer agreementId;
private BigDecimal percentage;
private Integer dPlanId;
private String dAdaCode;
}
PlanRepository выглядит так:
@Repository
public interface PlanRepository extends CrudRepository<PlanEntity, Integer> {
}
И я могу легко успешно сохранять объекты плана. Однако, если я попытаюсь удалить PlanEntity, вот так:
public void deleteCompanyPlan(PlanEntity planEntity){
planRepository.delete(planEntity);
}
Хотя никаких ошибок не выдается, при проверке базы данных строка не удаляется. Я попытался сделать сериализуемый класс, просто используя метод "deleteById ()" и многие другие вещи, но я не могу удалить План через реализацию Spring. Что я делаю не так?