Bonjour a tous,
j'ai un probleme de delete due a une foreign key
En fait, j'ai une table Student, une Classe et une classe d'associationentre Student et Classe (un eleve peut etre dans une ou plusieurs classes).
Class :
Student :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <class name="persistenceClass.Class" table="T_CLASS"> <id name="Id" column="CLASS_ID"> <generator class="native" /> </id> <many-to-one name="Formation" column="CLASS_FORMATION" class="persistenceClass.Formation" /> <many-to-one name="Year" column="CLASS_YEAR" class="persistenceClass.Year" /> </class>
Et ma classe d'association :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <class name="persistenceClass.Person" table="T_PERSON"> <id name="Id" column="PERSON_ID" > <generator class="native" /> </id> <property name="FirstName" column="PERSON_FIRST_NAME" not-null="true" /> <property name="LastName" column="PERSON_LAST_NAME" not-null="true" /> <property name="Type" column="PERSON_TYPE" not-null="true" /> <property name="BirthDate" column="PERSON_BIRTH_DATE" /> <property name="BirthCity" column="PERSON_BIRTH_CITY" /> <property name="PhoneNumber" column="PERSON_PHONE_NUMBER" /> <property name="MobileNumber" column="PERSON_MOBILE_NUMBER" /> <property name="Mail" column="PERSON_MAIL" /> <property name="Address" column="PERSON_ADDRESS_ADDRESS" /> <property name="ZipCode" column="PERSON_ADDRESS_ZIPCODE" /> <property name="City" column="PERSON_ADDRESS_CITY" /> <property name="Image" column="PERSON_IMAGE" type="image" /> <many-to-one name="Country" column="PERSON_ADDRESS_COUNTRY" class="persistenceClass.Country" /> <many-to-one name="BirthCountry" column="PERSON_BIRTH_COUNTRY" class="persistenceClass.Country" /> <many-to-one name="Civility" column="PERSON_CIVILITY" class="persistenceClass.Civility" /> <many-to-one name="Sex" column="PERSON_SEX" class="persistenceClass.Sex" /> <joined-subclass name="persistenceClass.Student" table="T_STUDENT"> <key column="PERSON_ID" /> </joined-subclass> <joined-subclass name="persistenceClass.Teacher" table="T_TEACHER"> <key column="PERSON_ID" /> </joined-subclass> </class>
Lorsque que je supprime un Studient, j'ai l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <class name="persistenceClass.ClassStudent" table="T_CLASS_STUDENT"> <composite-id> <key-many-to-one name="Student" class="persistenceClass.Student" column="CLASS_STUDENT_STUDENT" /> <key-many-to-one name="SchoolClass" class="persistenceClass.Class" column="CLASS_STUDENT_CLASS" /> </composite-id> </class>
Le probleme est que je n'arrive pas a mettre de on-delete="cascade" j'ai tout essaye et j'ai des erreurs de mapping...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 5763 [AWT-EventQueue-0] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1451, SQLState: 23000 5764 [AWT-EventQueue-0] ERROR org.hibernate.util.JDBCExceptionReporter - Cannot delete or update a parent row: a foreign key constraint fails (`projet`.`T_CLASS_STUDENT`, CONSTRAINT `FK5DBF3D89B38792B6` FOREIGN KEY (`CLASS_STUDENT_STUDENT`) REFERENCES `T_STUDENT` (`PERSON_ID`))
Merci d'avance
Cordialement,
NeoKript
Partager