IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

[persistance] delete et foreign keys


Sujet :

Persistance des données Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut [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 : 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>
    Student :
    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>
    Et ma classe d'association :
    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>
    Lorsque que je supprime un Studient, j'ai l'exception suivante :
    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`))
    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

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    J'ai changer mon association par ceci :

    Classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <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" />
    		<set name="Students" table="T_CLASS_STUDENT" cascade="all-delete-orphan" >
    			<key column="CLASS_ID" />
    			<many-to-many class="persistenceClass.Student" column="PERSON_ID" />		
    		</set>
    	</class>
    Mais j'ai toujours la violation de la contrainte :s

    Si quelqu'un a une idee...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de foreign key sur un DELETE
    Par Timo31 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/08/2011, 09h37
  2. Ajout de contraintes On Delete Cascade sur des foreign key
    Par weebo dans le forum Développement
    Réponses: 7
    Dernier message: 21/02/2011, 10h03
  3. foreign key on delete
    Par ded jay dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 08/09/2009, 12h48
  4. ON DELETE CASCADE & FOREIGN KEY
    Par bambou dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/05/2008, 09h48
  5. delete et foreign key
    Par babarincairo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2006, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo