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 :

OneToMany avec fetch = FetchType.EAGER


Sujet :

JPA Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut OneToMany avec fetch = FetchType.EAGER
    Bonjour à tous je developpe une application avec jpa jsf, j'utilise netbeans et glasfish avec une db postgressql

    j'ai une enty
    candidate
    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
     
    @Entity
    public class candidate implements Comparable, Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long candidateid;
        @OneToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "ciid")
        private contact_info contact_info = new contact_info();
        private String lastname;
        private String firstname;
        private Float rate;
        @OneToMany(/*fetch = FetchType.EAGER*/)
        private List<experience> experiences;
        @OneToMany(/*fetch = FetchType.EAGER*/)
        @OrderBy("description ASC")
        private List<education> educations;
    lorsque je mets dans l'attribut experiences ou educations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @OneToMany(fetch = FetchType.EAGER)
    quand j'execute l'application des que je clique sur le bouton de recherche ça foire mais quand je les mets en commentaire ça passe quelqu'un aurait il une idée, thanks

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Quel est le message d'erreur ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    c'est
    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
     
    type Rapport d'exception
     
    Message
     
    DescriptionLe serveur a rencontré une erreur interne () qui l'a empêché de remplir cette requête.
     
    Exception
     
    javax.servlet.ServletException: #{candidate.doFindCandidates}: javax.ejb.EJBException
     
    Cause racine
     
    javax.faces.FacesException: #{candidate.doFindCandidates}: javax.ejb.EJBException
     
    Cause racine
     
    javax.faces.el.EvaluationException: javax.ejb.EJBException
     
    Cause racine
     
    javax.ejb.EJBException
     
    Cause racine
     
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not initialize a collection: [be.isl.interim.entity.candidate.experiences#9]
     
    Cause racine
     
    org.hibernate.exception.SQLGrammarException: could not initialize a collection: [be.isl.interim.entity.candidate.experiences#9]
     
    Cause racine
     
    org.postgresql.util.PSQLException: ERROR: relation "candidate_experience" does not exist
     
    note Les suivis de pile complets de l'exception et de ses causes principales sont disponibles dans les journaux Sun GlassFish Enterprise Server v2.1.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Le mapping de ta classe experience semble erroné.
    Le problème vient de candidate_experience.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    merci, je m'en doutais bien, d'ailleurs je suis entrain de le modifier et faire des essais
    je laisse la question en suspens

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    apres quelques modifications le pb persiste, je ne trouve réellement pas ce qui coince.
    En fait je dois afficher une liste de candidats avec un hyperlien sur le nom et en cliquant sur celui-ci afficher la liste des expériences et formations.
    La liste s'affiche, mais pas les expériences et formations rattachées à ce candidat

    voici la methode pour rechercher les candidats(dans un controller)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void doFindCandidates() {
            candidates = candidateBean.searchCandidate(candidateRech);
        }
    et celle qui est invoquée quand je clique sur le nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     public void doFindCandidate() {
            candidateDetail = candidateBean.findCandidate(getParamId("candidateid"));
            experiences = candidateDetail.getExperiences();
            educations = candidateDetail.getEducations();
     
        }
    et là il m'envoie bouler et
    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
     
    type Rapport d'exception
     
    Message
     
    DescriptionLe serveur a rencontr� une erreur interne () qui l'a emp�ch� de remplir cette requ�te.
     
    Exception
     
    javax.servlet.ServletException: failed to lazily initialize a collection of role: be.isl.interim.entity.candidate.experiences, no session or session was closed
     
    Cause racine
     
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: be.isl.interim.entity.candidate.experiences, no session or session was closed
     
    note Les suivis de pile complets de l'exception et de ses causes principales sont disponibles dans les journaux Sun GlassFish Enterprise Server v2.1

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    le problème se situe à l'invocation de la la fonction doFincandidate fonction invoquée aen cliquant sur le nom;
    j'ai modifié cette fonction et voici son code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void doFindCandidate() {
            candidateDetail = candidateBean.findCandidate(getParamId("candidateid"));
            //experiences = candidateRech.getExperiences();
            //educations = candidateRech.getEducations();
     
            educations = candidateBean.searchEducation(candidateRech);
            experiences = candidateBean.searchExperience(candidateRech);
        }
    a l'exécution j'affiche à nouveau la liste des candidats; en cliquant sur 1 nom en hyperlien, j'ai cette erreur
    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
    DescriptionLe serveur a rencontré une erreur interne () qui l'a empêché de remplir cette requête.
     
    Exception
     
    javax.servlet.ServletException: #{candidate.doFindCandidate}: javax.ejb.EJBException
     
    Cause racine
     
    javax.faces.FacesException: #{candidate.doFindCandidate}: javax.ejb.EJBException
     
    Cause racine
     
    javax.faces.el.EvaluationException: javax.ejb.EJBException
     
    Cause racine
     
    javax.ejb.EJBException
     
    Cause racine
     
    java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: candidate of: be.isl.interim.entity.education [SELECT e FROM be.isl.interim.entity.education e JOIN e.candidate c]
     
    Cause racine
     
    org.hibernate.QueryException: could not resolve property: candidate of: be.isl.interim.entity.education [SELECT e FROM be.isl.interim.entity.education e JOIN e.candidate c]
    et bien sur quand j'enlève ces deux dernières ligne je reviens au problème initial cad j'affiche la liste des candidats, le détail d'un candidat mais pas la liste des expériences et formations de celui ci
    quelqu'un peut-il me guider car j'ai beau chercher je ne trouve pas

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    could not resolve property: candidate of: be.isl.interim.entity.education
    C'est simple, tu as mal mappé ton objet candidate dans ton objet education.

    Pour le problème précédent, c'est un problème classique de lazy loading.
    Tu trouveras des réponses en faisant une recherche.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    C'est simple, tu as mal mappé ton objet candidate dans ton objet education.
    voici l'entity education et comment je fais le le mapping de l'oblet candidat dans dans 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
    14
    15
    public class education implements Comparable, Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long eduid;
        @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "candidateid")
        private candidate candidate = new candidate();
        @Temporal(TemporalType.DATE)
        private Date from_;
        @Temporal(TemporalType.DATE)
        private Date to_;
        private String school;
        private String level_;
        private String description;
    et l'entty candidate
    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
     
    @Entity
    public class candidate implements Comparable, Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE)
        private Long candidateid;
        @OneToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "ciid")
        private contact_info contact_info = new contact_info();
        private String lastname;
        private String firstname;
        private Float rate;
        @OneToMany(fetch = FetchType.EAGER)
        private List<experience> experiences;
        @OneToMany(fetch = FetchType.EAGER)
        //@OrderBy("description ASC")
        private List<education> educations;
    et c'est vrai au niveau du loading je mets celui-ci en commentaire dans l'enty candidate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @OneToMany(/*fetch = FetchType.EAGER*/)
        private List<experience> experiences;
        @OneToMany(/*fetch = FetchType.EAGER*/)
        //@OrderBy("description ASC")
        private List<education> educations;

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Je ne sais pas si ça vient de ça, mais évite ce genre de déclarations :
    private candidate candidate ...
    Par convention, le nom d'une classe commence par une lettre majuscule, celui d'une variable d'instance, par une minuscule, cela permet de les différencier.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    c'est vrai ça peut porter à confusion

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Par défaut
    Une autre chose, tu devrait mettre des majuscules au nom de tes classes, tu y verrai plus clair !

    Pour le problème de lazyloading, cela signifie que tu tente d'accèder à un attribut d'une classe qui a été chargé en proxy par hibernate, comportement par défaut.
    Quand tu charge un objet A qui contient une liste d'objet B, tout les éléments contenu dans ta liste sont des proxy hibernate (si tu ne spécifie pas le FETCH.EAGER || dans ta requete LEFT JOIN FETCH)

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    c'est pas très clair,
    en fait j'ai mis dans candidate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @OneToMany(fetch = FetchType.EAGER)
        private List<experience> experiences;
        @OneToMany(fetch = FetchType.EAGER)
        private List<education> educations;
    et dans experience ou education je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "candidateid")
        private candidate candidate = new candidate();
    mais le problème demeure

    et même pire
    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
     
    deployed with moduleid = interim
    Hibernate Annotations 3.3.1.GA
    Hibernate 3.2.5
    hibernate.properties not found
    Bytecode provider name : cglib
    using JDK 1.4 java.sql.Timestamp handling
    Hibernate EntityManager 3.3.2.GA
    Processing PersistenceUnitInfo [
            name: interimPU
            ...]
    Binding entity from annotated class: be.isl.interim.entity.education
    Bind entity be.isl.interim.entity.education on table education
    Binding entity from annotated class: be.isl.interim.entity.candidate
    Bind entity be.isl.interim.entity.candidate on table candidate
    Binding entity from annotated class: be.isl.interim.entity.experience
    Bind entity be.isl.interim.entity.experience on table experience
    Binding entity from annotated class: be.isl.interim.entity.contact_info
    Bind entity be.isl.interim.entity.contact_info on table contact_info
    Binding entity from annotated class: be.isl.interim.entity.employer
    Bind entity be.isl.interim.entity.employer on table employer
    Binding entity from annotated class: be.isl.interim.entity.country
    Bind entity be.isl.interim.entity.country on table country
    Hibernate Validator not found: ignoring
    Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
    Using provided datasource
    RAR5099 : nom de classe ou chemin daccès à la classe incorrect pour lobjet Datasource 
    java.lang.ClassNotFoundException: org.postgresql.ds.PGSimpleDataSource
            at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
    [PersistenceUnit: interimPU] Unable to build EntityManagerFactory
    javax.persistence.PersistenceException: [PersistenceUnit: interimPU] Unable to build EntityManagerFactory
            at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
            at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
            at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
            at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
            at com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:895)
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
    Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
            at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
            at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
            at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
            at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
            at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
            at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
            at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
            at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
            ... 73 more
    CORE5021 : Application NON chargée : [interim]
    ADM1075 : Erreur lors de l'écoute de l'événement : [Erreur lors du chargement de l'application [interim]. Veuillez consulter le journal du serveur pour plus de détails. ]
    je n'affiche plus rien et j'ai le message précédent

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Par défaut
    Dans ton code tu ne dois pas instancier l'attribut candidate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "candidateid")
    private Candidate candidate
    Ensuite, le message d'erreur que tu as n'est pas du tout lier au mapping de ta classe. Il s'agit d'un problème de dataSource qui n'est pas trouvé. Dans ton persistence.xml tu fais référence à une datasource définie dans un fichier sous jboss (par exemple: postgres-ds.xml contient la définition de ma datasource perso)
    Il semble qu'il te manque cette définition !!!

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    merci lespoches,
    Dans ton code tu ne dois pas instancier l'attribut candidate
    je ne comprends pas bien , tu veux bien détailler un peu stp, voici mon persistence.xml et je suis sous postgresql avec comme serveur applicatif glasfish
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit name="interimBPU" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>interimB</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties/>
      </persistence-unit>
    </persistence>



    j'ai pu résoudre une bonne partie des problèmes, j'ai renomme les entity avec la première lettre en majuscule.
    dans l'entity candidate j'ai enlevé les fecth sinon l'appli ne s'exécutait pas.(Je ne sais pourquoi).
    Donc j'affiche la liste des candidats mais au moment d'afficher le détail voici la fonction appelée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     public void doFindCandidate() {
            candidateDetail = candidateBean.findCandidate(getParamId("candidateid"));
     
            experiences = candidateDetail.getExperiences();//????
            educations = candidateDetail.getEducations();//????
        }
    j'ai le message d'erreur suivant
    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
    type Rapport d'exception
     
    Message
     
    DescriptionLe serveur a rencontr� une erreur interne () qui l'a emp�ch� de remplir cette requ�te.
     
    Exception
     
    javax.servlet.ServletException: failed to lazily initialize a collection of role: be.isl.interimB.entity.Candidate.experiences, no session or session was closed
     
    Cause racine
     
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: be.isl.interimB.entity.Candidate.experiences, no session or session was closed
     
    note Les suivis de pile complets de l'exception et de ses causes principales sont disponibles dans les journaux Sun GlassFish Enterprise Server v2.1.
    je soupçonne ma fonction doFindCandidate en effet en enlevant les deux lignes du bas j'affiche le détail du candidat et pas les exp et formations
    Quelqu'un a -til une idée?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    Dans ton code tu ne dois pas instancier l'attribut candidate
    Code :


    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "candidateid")
    private Candidate candidate
    ça ne change rien

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Faire une recherche dans le forum sur lazyloading, tu trouveras sans doute pas mal de réponses.

    En fait, tu essaies d'accéder à des collections depuis ta jsp, mais ces collections n'ont pas été chargées au préalable.
    Il faut donc que tu les charges grace à ta session hibernate avant de rendre la main à ta JSP.
    Pour cela tu as plusieurs méthode:
    - requête hql avec un fetch join
    - criteria avec un fetch
    - Session.initialize(taCollection)
    - un simple get sur ta collection devrait également suffire

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    pour le lazy loading j'en ai trouve pas mal c'est vrai, j'ai essayé le fetch, c'est le plus à ma porté pour le moment mais ça ne marche pas, tu peux donner plus de détail sur le dernier
    un simple get sur ta collection devrait également suffire

  19. #19
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Quelle que soit la méthode utilisée, tu dois être dans un contexte de session.
    Autrement dit, tu dois avoir une session ouverte, ce qui n'est pas le cas, quand ta jsp accède à ta collection.


    Qu'est-ce qui ne fonctionne pas quand tu utilises un hql avec un fetch join ?

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 116
    Par défaut
    je n'utilise pas de la methode hql et fetch join mais plutot le critere sur fecth join et dans l'entity candidate j'ai du le mettre en commentaire pou que l'appli s'exécute.
    Je pense tourner en rond, je ne sais pas si me trompe ou pas mais le souci semble se trouver sur ma fonction doFinCandidate, et là ce serait certainement un problème de logique, à force de rester dessus longtemps , je ne vois plus rien

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. erreur PDO avec fetch() mysql avec netbeans
    Par soohikei dans le forum Administration
    Réponses: 14
    Dernier message: 28/06/2011, 15h56
  2. [eZ Publish] Problème template avec fetch et related_objects
    Par Vinestro dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 04/08/2010, 11h21
  3. Update d'une collection many-to-one avec fetch=eager
    Par totoranky dans le forum Hibernate
    Réponses: 0
    Dernier message: 16/07/2010, 18h16
  4. [z/OS] Procedure stockée Cobol avec fetch
    Par freed201 dans le forum Cobol
    Réponses: 7
    Dernier message: 05/01/2009, 13h14
  5. [9i] pb Temps de réponse avec FETCH ... INTO
    Par sygale dans le forum Oracle
    Réponses: 5
    Dernier message: 05/04/2006, 17h51

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