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 :

problème insertion base


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut problème insertion base
    Bonjour,
    j'ai 3 tables dans ma bd

    groupe et genre et groupegenre

    groupegenre regroupe les id de groupe et genre.

    dans ma classe Groupe :


    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    @Entity
    public class Groupe implements Serializable {
    	@Id
    	@GeneratedValue(strategy = GenerationType.SEQUENCE)
    	private int idgroupe;
     
    	private String nom;
     
    	private String photo;
     
    	private String email;
     
    	@Lob
    	private String valide;
     
    	@Lob
    	private String informations;
     
    	private static final long serialVersionUID = 1L;
     
    	public Groupe() {
    		super();
    		groupeGenre = new ArrayList<Genre>();
    	}
     
    	public int getIdgroupe() {
    		return this.idgroupe;
    	}
     
    	public void setIdgroupe(int idgroupe) {
    		this.idgroupe = idgroupe;
    	}
     
    	public String getNom() {
    		return this.nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getPhoto() {
    		return this.photo;
    	}
     
    	public void setPhoto(String photo) {
    		this.photo = photo;
    	}
     
    	public String getEmail() {
    		return this.email;
    	}
     
    	public void setEmail(String email) {
    		this.email = email;
    	}
     
    	public String getValide() {
    		return this.valide;
    	}
     
    	public void setValide(String valide) {
    		this.valide = valide;
    	}
     
    	public String getInformations() {
    		return this.informations;
    	}
     
    	public void setInformations(String informations) {
    		this.informations = informations;
    	}
    	@OneToMany(cascade = CascadeType.ALL,
    			  fetch = FetchType.EAGER)
     
    	  @JoinTable (name="groupegenre",
    	      joinColumns={@JoinColumn(name="idgroupe")},
    	      inverseJoinColumns=@JoinColumn (name="idgenre"))
    	private List<Genre> groupeGenre; 
     
    	public List<Genre> getGenre(){
    		return this.groupeGenre;
    	}
     
    	public void setGenre(List<Genre> listGenre){
    		this.groupeGenre = listGenre;
    	}
     
    }
    ma classe genre :

    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
    28
    29
    30
    @Entity
    public class Genre implements Serializable {
    	@Id
    	@GeneratedValue(strategy = GenerationType.SEQUENCE)
    	private int idgenre;
     
    	private String nom;
     
    	private static final long serialVersionUID = 1L;
     
    	public Genre() {
    		super();
    	}
     
    	public int getIdgenre() {
    		return this.idgenre;
    	}
     
    	public void setIdgenre(int idgenre) {
    		this.idgenre = idgenre;
    	}
     
    	public String getNom() {
    		return this.nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    }

    code d'insertion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public Groupe createGroupe(Groupe groupe) {
     
    		em.persist(groupe);
    		return groupe;
    }
    Voici mon problème:
    J'ai un groupe avec les infos (nom,email....)
    et j'ai différents type de genre(rock, jazz .....)

    donc ce que je souhaite c'est lorsque je crée un groupe, ajouter dans la table groupegenre l'id du groupe et l'id du genre (j'ai mis une liste car il peut en avoir plusieurs).

    l'insertion se passe bien,mais le souci c'est qu'il insère aussi dans la table genre (ce que je ne souhaite pas).

    En effet, les genres sont déjà stocké dans la base. Il faut savoir qu'il seront affiché dans une liste déroulante.

    Donc ce que j'aimerai faire c'est pouvoir récupérer l'id du genre et lors de la création, ajouter dans la table groupegenre l'id du groupe crée et l'id du genre choisi.

    j'espère que mon explication est claire

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    c'est bon,
    j'ai modifié cascadeType.ALL par cascadaType.MERGE.

    ça fonctionne

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

Discussions similaires

  1. Probléme insertion base de donnée Access
    Par Seb2913 dans le forum C#
    Réponses: 1
    Dernier message: 26/04/2015, 10h45
  2. [1.x] [Doctrine] Problème insertion base depuis le Back-Office
    Par Tyra3l dans le forum Symfony
    Réponses: 4
    Dernier message: 03/05/2011, 14h06
  3. [MySQL] Problème insertion base SQL
    Par rouly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2010, 08h14
  4. Réponses: 7
    Dernier message: 01/12/2009, 15h10
  5. Problème insertion form & base
    Par dunbar dans le forum Administration
    Réponses: 3
    Dernier message: 11/07/2006, 08h52

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