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

JPA Java Discussion :

Persistance en cascade complexe


Sujet :

JPA Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Persistance en cascade complexe
    Bonjour,
    Je tente de faire une persistance en cascade de cet entité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @Entity
    @Table(name = "operations")
    public class Operation implements Serializable {
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
    	private Integer seq;
    	private Character sens;
    	private Double montant;
     
    	@OneToOne(cascade = CascadeType.PERSIST)
    	private Compte compte;
            // getters, setters constructor.
    En faisant la persistant que celui-ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Entity
    @Table(name = "transactions")
    public class Transaction implements Serializable {
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
    	private String type;
    	private String description;
     
    	@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST)
    	private Set<Operation> operations;
    // getters, setters constructor.
    Je tiens à ajouter que dans L'entité Operation, on a un OneToOne unidirectionnel avec une entité nommé compte qui lui même, est unidirectionnelle OneToOne avec TypeCompte.
    Les voici donc.
    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
    @Entity
    @Table(name="comptes")
     
    public class Compte implements Serializable {
     
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
    	private String libelle;
    	private Double solde;
     
    	@OneToOne(cascade = CascadeType.PERSIST)
    	private TypeCompte typeCompte;
     
    	private static final long serialVersionUID = 1L;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Entity
    @Table(name="type_compte")
     
    public class TypeCompte implements Serializable {
     
     
    	@Id
    	@GeneratedValue(strategy = GenerationType.IDENTITY)
    	private Long id;
    	private String libelle;
    	private String numero;
    	private static final long serialVersionUID = 1L;
    Ma question est, lorsque je persiste une entité transaction, ça m'indique que l'entité opération qui est détaché tente de persiter.

    Alors que j'ai fait ceci.
    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
    public void doVal(){
    		TypeCompte tc = new TypeCompte();
    		tc.setLibelle(compte.getValue());
    		tc.setNumero("512");
     
    		Compte c = new Compte();
    		c.setTypeCompte(tc);
    		c.setLibelle(compte.getValue());
    		c.setSolde(150d);
     
     
    		Operation o = new Operation(), o1 = new Operation();
    		o.setCompte(c);
    		o.setId(0l);
    		o.setSeq(Integer.parseInt(seq.getValue()));
    		o.setSens(sens.getValue().charAt(0));
    		o.setMontant(Double.valueOf(montant.getValue()));
     
    		Compte c1 = new Compte();
    		c1.setTypeCompte(tc);
    		c1.setLibelle("SGBS");
    		c1.setSolde(150d);
     
    		o1.setCompte(c1);
    		o1.setId(1l);
    		o1.setSeq(Integer.parseInt(seq.getValue()));
    		o1.setSens(sens.getValue().charAt(0));
    		o1.setMontant(Double.valueOf(montant.getValue()));
     
    		Set<Operation> set_o = new HashSet<Operation>();
    		set_o.add(o1);
    		set_o.add(o);
     
     
    		Transaction t = new Transaction();
    		t.setDescription("test transactions");
    		t.setType(transaction.getValue());
    		t.setOperations(set_o);
    		tf.create(t);
    	}
    Je sais plus quoi écrire...

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 200
    Points : 792
    Points
    792
    Par défaut
    Mais pourquoi conserver cette configuration?
    Ingénieur Recherche et Développement en informatique à Sopra

    Page perso developpez : http://armel-ndjobo.developpez.com/
    Suivez moi sur twitter : ndjobo

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

Discussions similaires

  1. [2.x] Persist entité cascade et postPersist
    Par Issiel dans le forum Symfony
    Réponses: 4
    Dernier message: 01/07/2013, 17h33
  2. Réponses: 2
    Dernier message: 12/03/2010, 16h10
  3. Réponses: 2
    Dernier message: 29/04/2009, 18h58
  4. Persist en cascade
    Par stylatone dans le forum Hibernate
    Réponses: 2
    Dernier message: 02/02/2008, 13h23
  5. Persistance en cascade
    Par aloha dans le forum JPA
    Réponses: 8
    Dernier message: 30/11/2007, 11h39

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