2014-11-22 3 views
2

My Patientbooking class использует соединительный кабель. Ниже приведен код. Appointment не имеет Patientbooking.JPA OneToMany with JoinTable удаляет сбой внешнего ключа

public class Patientbooking implements Serializable { 
    ... 
    @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST}) 
    @JoinTable 
    (
     name="patientbooking_appointments", 
     joinColumns={ @JoinColumn(name="patientbooking_id", referencedColumnName="id") }, 
     inverseJoinColumns={ @JoinColumn(name="appointments_id", referencedColumnName="id", unique=true) } 
) 
    private List<Appointment> appointments; 

    ... 
} 

При удалении Appointment я получаю эту ошибку.

Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (`soebala/patientbooking_appointments`, CONSTRAINT `patientbooking_appointments_ibfk_1` FOREIGN KEY (`appointments_id`) REFERENCES `appointments` (`id`)) 

ответ

0

Как ошибка говорит, что вы нарушаете ограничение. Введите код

cascade = {CascadeType.PERSIST, CascadeType.REMOVE}) 
Смежные вопросы