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 :

persist ManyToOne [EJB3 Entity]


Sujet :

Java EE

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 30
    Points : 27
    Points
    27
    Par défaut persist ManyToOne
    salut,
    j'ai deux entités profil et role je voudrai persiter un profil qui va faire référence à un role déjà créé. L'entité role est bien crée et sa persistence marche mais quand je veux ajouter un profil avec un role qui existe j'ai cette erreur
    type Rapport d'exception

    Message

    DescriptionLe serveur a rencontré une erreur interne () qui l'a empêché de remplir cette requête.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception 
     
    javax.servlet.ServletException: viewId:/BackOffice/indexProfil.jsf - View /BackOffice/indexProfil.jsf could not be restored.
    Cause racine 
     
    javax.faces.application.ViewExpiredException: viewId:/BackOffice/indexProfil.jsf - View /BackOffice/indexProfil.jsf could not be restored.
    l'exception en détail
    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
    GRAVE: JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@139de8b]
    GRAVE: StandardWrapperValve[Faces Servlet]: PWC1406 : servlet.service() pour le servlet Faces Servlet a émis une exception.
    javax.faces.application.ViewExpiredException: viewId:/BackOffice/indexProfil.jsf - View /BackOffice/indexProfil.jsf could not be restored.
    	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:185)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
    	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
    	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
    	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
    	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
    	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
    	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
    	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
    	at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
    	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
    	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    voici la méthode ajouter de profil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public String ajouter() {		 
    		 loc=new SessionBeanRole() ;
    	     profil.setRole(loc.RoleFindOnly(this.getIdrole())); 
    		  profil.setStatutProfil("E");
    		  profillocal.persistEntity(profil);
    	      profil.setIdProfil(0);
     
    	      return "ajouter";
    	  }
    Merci de m'aider

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Merci,
    j'ai trouvé la solution j'ai ajouté à la classe bean managed @EJB avant la définition du sessionBean role.
    Dans la classe profil j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "refRole" , referencedColumnName = "idRole", unique = false, nullable = false, insertable = true, updatable = true)
    private Role role;
    et la méthode ajouter profil j'ai laissé la même chose comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String ajouter() { 
                               profil.setRole(loc.RoleFindOnly(this.getIdrole())); 		              profil.setStatutProfil("E");
    		 profillocal.persistEntity(profil);
    	              profil.setIdProfil(0);
     
    	     return "ajouter";
    	  }
    bye

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

Discussions similaires

  1. Persist ManyToOne Symfony2
    Par moucha dans le forum Doctrine2
    Réponses: 0
    Dernier message: 04/04/2014, 11h13
  2. Persistence d'une classe avec mapping ManyToOne
    Par yo_haha dans le forum JPA
    Réponses: 1
    Dernier message: 21/11/2013, 14h13
  3. Réponses: 12
    Dernier message: 27/05/2010, 20h01
  4. jpa manytoOne persist
    Par ichigoo dans le forum JPA
    Réponses: 4
    Dernier message: 19/02/2009, 21h57
  5. [Persistence][Framework]Avis.
    Par quilo dans le forum Persistance des données
    Réponses: 5
    Dernier message: 10/09/2003, 14h55

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