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

Java EE Discussion :

detached entity passed to persist [EJB3 Entity]


Sujet :

Java EE

  1. #1
    Membre confirmé Avatar de maysam
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 112
    Par défaut detached entity passed to persist
    Salut
    Quand je lance mon application EJB j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Exception in thread "main" javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.elyx.application.entity.Script
    ...............
    coici l'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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    @Entity
    @Table(name="script")
    public class Script implements Serializable {
    	private static final long serialVersionUID = 1L;
    	private int id ;
    	private String nom ;
    	private String description ;
    	private String contenu ;
     
    	public Script(){}
     
    	public Script(int id,String nom,String description,String contenu){
    		this.id=id;
    		this.nom=nom;
    		this.description=description ;
    		this.contenu=contenu ;
     
    	}	
    	@Id
    	@GeneratedValue (generator="SCRIPT_SEQ",  strategy=GenerationType.SEQUENCE)
    	@SequenceGenerator(name="SCRIPT_SEQ", sequenceName="SCRIPT_SEQ")
    	@Column(name="id")
    	public int getId(){
    		return id ;
    	}
    	public void setId(int id){
    		this.id=id ;
    	}
    j'ai vu sur un forum que ça vient à cause des annotation du genre @SequenceGenerator mais je n'ai pas trouvé comment faire pour eviter cette erreur.
    merci d'avance pour votre aide.

  2. #2
    Membre confirmé Avatar de maysam
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 112
    Par défaut
    j'ai trouvé la solution si ca peu aider quleq'un ben :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void add(Script script) {	
    		script=em.merge(script) ;
    		em.persist(script) ;
    	}
    donc j'ai ajouter un merge avant de faire em.persist.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Par défaut
    Salut,

    Effectivement, celà va résoudre ton problème, amis tu ne fais en fait que le contourner.
    En effet, le problème vient du fais que tu essaie de mettre en base de données un entity possedant déja une clé primaire, alors que tu as indiqué qu'elle était automatiquement générée.

    Pour résoudre ce pb, soit il faut enlever le @GeneratedValue, et donner les id manuellement, soit ne pas setter les id à la main, et donc l'enlever du constructeur.

    A+

    Citation Envoyé par maysam Voir le message
    j'ai trouvé la solution si ca peu aider quleq'un ben :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void add(Script script) {	
    		script=em.merge(script) ;
    		em.persist(script) ;
    	}
    donc j'ai ajouter un merge avant de faire em.persist.

  4. #4
    Membre confirmé Avatar de maysam
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 112
    Par défaut
    merci pour les explications

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

Discussions similaires

  1. [Hibernate] Detached entity passed to persist
    Par lotfi-g dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/04/2018, 16h30
  2. Réponses: 6
    Dernier message: 15/03/2012, 17h28
  3. Réponses: 9
    Dernier message: 09/05/2011, 21h25
  4. detached entity passed to persist
    Par snipes dans le forum JPA
    Réponses: 2
    Dernier message: 06/08/2009, 15h19
  5. Réponses: 1
    Dernier message: 14/07/2009, 00h24

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