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

Hibernate Java Discussion :

Erreur java.sql.SQLException: Column not found: ADMIN in statement


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut Erreur java.sql.SQLException: Column not found: ADMIN in statement
    Bonjour à toutes et à tous,
    J'ai un problème qui me bloque depuis deux jours. je commence réellement à désespérer.
    Donc merci d'avance de votre aide;
    En effet, j'utilise la méthode suivante dans ma servlet: "alhou.inscrire(id,log);" définie ainsi dans mon bean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void inscrire(int idTache, String log) {
    	Tache t= findTache(idTache);
    	Query q=em.createQuery("From Participants p WHERE p.login="+log); 
    	Participants p=(Participants)q.getSingleResult();
    		List<Participants> lp= t.getLeParticipant();
    		lp.add(p);
    		t.setLeParticipant(lp);
    	//	em.persist(t);
    	}
    A l'exécution j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Caused by: java.sql.SQLException: Column not found: ADMIN in statement [select top ? participan0_.idParticipants as idPartic1_179_, participan0_.login as login179_, participan0_.password as password179_, participan0_.specialite as specialite179_, participan0_.statut as statut179_ from Participants participan0_ where participan0_.login=admin]
    Je ne sais plus quoi faire. J'ai tout essayé; rien du tout.
    Merci de m'aider please.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query q=em.createQuery("From Participants p WHERE p.login=:login").setParameter("login",log);

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut
    Merci,
    Je vais essayer.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 87
    Points : 70
    Points
    70
    Par défaut org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role
    Bonjour,
    J'ai le message d'erreur suivant quand j'essaye d'afficher une liste de "Participants" dans ma jsp:
    "org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: projet.ejb.Tache.leParticipant, no session or session was closed ".
    J'ai l'impression qu'elle vient de ma requête; cependant, je ne vois pas quelle solution je pourrai bien utilisée.
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for (Tache t : inscrits) {		
    		%>
    		<br><%=i%>-<%=t.getTitre() %><br>
    		<!--Pour chaque tâche, on a une liste d'inscrits non validés  -->
    		<% i=i+1;
    			List<Participants> lp=new ArrayList<Participants>();
    			lp=t.getLeParticipant(); // ????????????
    			for (Participants p: lp) { ....
                     }
              }
    "
    Merci d'avance de votre aide.

  5. #5
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Tu as défini la collection de Participants en mode lazy pour hibernate, autrement dit pour économiser des accès, il ne va pas chercher la collection quand tu ramènes une Tache ; il instancie juste une collection, qui sera initialisée si tu en as besoin tant que la session qui a ramenée la Tache reste ouverte.
    Là comme c'est du code de type IHM web, je suppose que tu as rappatrié de ta couche métier l'objet, la session est donc fermée, et quand tu essayes d'accéder à la collection, il plante.
    Solutions : initialiser la collection tant que la session est ouverte. Si tu es sûr d'en avoir toujours besoin, autant passer le paramètre lazy à false.

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

Discussions similaires

  1. Problème java.sql.SQLException: Column not found
    Par sabeurios dans le forum JDBC
    Réponses: 13
    Dernier message: 15/01/2015, 16h31
  2. Réponses: 5
    Dernier message: 31/08/2012, 09h23
  3. Réponses: 1
    Dernier message: 25/04/2012, 22h03
  4. Réponses: 1
    Dernier message: 19/02/2009, 11h59
  5. Réponses: 5
    Dernier message: 12/12/2005, 13h13

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