Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Persistance
Persistance Forum d'entraide pour la persistance en Java : base de donnée, xml, mapping orienté objet, ... Posez vos questions sur iBatis, JDO, XmlBeans, Castor, JAXB, XStream, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 10/09/2012, 09h58   #1
zangdar666
Candidat au titre de Membre du Club
 
Inscription : novembre 2011
Messages : 16
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 16
Points : 12
Points : 12
Par défaut [HSQL] Problème @OneToMany

Bonjour,

j'ai un problème lors de ma persistance

donc j'ai 3 objets personne, adresse et formation.

et une formation peut contenir plusieurs formation, donc j'ai utilisé une liste de formation avec @OneToMany

Code :
1
2
3
4
5
6
7
8
9
10
@Entity
public class Personne {
	@Id private int personneId;
	private String firstName;
	private String lastName;
	private int age;
	@OneToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
	private Adress adress;
	@OneToMany(targetEntity=Formation.class, fetch = FetchType.LAZY, cascade = { CascadeType.ALL })
    private List<Formation> formations;
Donc lors de l’exécution, le problème est que il essaye d'ajouter dans la table personne_formation, qui fait la liaison entre les deux, avant d'ajouter la personne. Cela bloque à cause de privilège des foreign_key.

J'aimerai savoir comment je pourrais faire pour résoudre ce problème.
zangdar666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2012, 11h00   #2
supergeoffrey
Membre actif
 
Homme geoffrey boulay
Ingénieur développement logiciels
Inscription : octobre 2010
Messages : 90
Détails du profil
Informations personnelles :
Nom : Homme geoffrey boulay
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2010
Messages : 90
Points : 152
Points : 152
OneToMany doit-être couplé systèmatiquement avec un ManyToOne.

(La réciproque est fausse!)
supergeoffrey est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/09/2012, 14h11   #3
zangdar666
Candidat au titre de Membre du Club
 
Inscription : novembre 2011
Messages : 16
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 16
Points : 12
Points : 12
merci, c'est vrai que ça fonctionne mieux comme ça.
zangdar666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2012, 10h39   #4
jdvacheron
Membre habitué
 
Développeur informatique
Inscription : juillet 2007
Messages : 152
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 152
Points : 102
Points : 102
Citation:
Envoyé par supergeoffrey Voir le message
OneToMany doit-être couplé systèmatiquement avec un ManyToOne.

(La réciproque est fausse!)
Ce n'est pas vrai. Il est possible d'utiliser des relations uni-directionnelles. L'ajout de l'annotation ManyToOne rend la relation bidirectionnelle et résout le problème

Cf JSR 317 - 2.10.5.1 Unidirectional OneToMany Relationships
jdvacheron est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h15.


 
 
 
 
Partenaires

Hébergement Web