[persistance] delete et foreign keys
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 :
Code:
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> |
Student :
Code:
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> |
Et ma classe d'association :
Code:
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> |
Lorsque que je supprime un Studient, j'ai l'exception suivante :
Code:
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`)) |
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...
Merci d'avance
Cordialement,
NeoKript