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.lang.IncompatibleClassChangeError: Implementing class"


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut Erreur "java.lang.IncompatibleClassChangeError: Implementing class"
    je suis entrain de faire une application web hibernate annotation , mysql

    j' ai un message d erreur la voici :

    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
     
    Initial creation failed. : java.lang.IncompatibleClassChangeError: Implementing class
    26-juin-2012 17:45:43 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet ServletUser a généré une exception
    java.lang.IncompatibleClassChangeError: Implementing class
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
    	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	at com.demo.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
    	at com.demo.dao.impl.UserImpldao.add(UserImpldao.java:17)
    	at com.demo.controlleur.ServletUser.doPost(ServletUser.java:40)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	at java.lang.Thread.run(Thread.java:619)
    voici la classe hibernate utile
    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
     
     
    package com.demo.util;
     
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.AnnotationConfiguration;
     
     
    @SuppressWarnings("unchecked")
    public class HibernateUtil {
    	private static final  SessionFactory sessionfactory;
        static{
        	try{
        		sessionfactory = new AnnotationConfiguration()
        		               .configure().buildSessionFactory();
        	}catch (Throwable ex) {
        		System.err.println("Initial creation failed. : " + ex);
        	    throw new ExceptionInInitializerError(ex);
    		}
     
        }	
    	public static SessionFactory getSessionFactory(){
    		return sessionfactory;
    	} 
     
     
    }
    voici classe userimpldao
    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
    51
     
     
    import java.util.ArrayList;
     
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import com.demo.bean.User;
    import com.demo.dao.Dao;
    import com.demo.util.HibernateUtil;
     
     
    public class UserImpldao implements Dao<User> {
        @Override
    	public void add(User obj) {
    		try{
    			Transaction tx =null;
    			Session session = HibernateUtil.getSessionFactory().openSession();
    			tx=session.beginTransaction();
    			session.saveOrUpdate(obj);
    			tx.commit();
    		}catch (Exception e) {System.out.println("erreur add : " +e);
     
    		}
     
    	}
     
    	@Override
    	public ArrayList<User> findAll() {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	@Override
    	public User findByid(long id) {
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	@Override
    	public void remove(User obj) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void update(User obj) {
    		// TODO Auto-generated method stub
     
    	}
     
    }
    voici class servletuser
    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
     
     */
    public class ServletUser extends HttpServlet {
    	private static final long serialVersionUID = 1L;
     
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doPost(request, response);
    	}
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out =response.getWriter();
    		String login = request.getParameter("login");
    		String pasword = request.getParameter("pasword");
    		if(!login.isEmpty()&&!pasword.isEmpty()){
    			User u = new User();
    			UserImpldao unuser = new UserImpldao();
    			u.setUsername(login);
    			u.setPassword(pasword);
    			unuser.add(u);
    		 }
    		else{
    			out.println("<b><i>Please enter event title and date.</i></b>");
    		}
     
    	}
     
    }
    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
     
    voici interface Dao 
    import java.util.ArrayList;
     
    public interface Dao<T> {
    	public  ArrayList<T>  findAll();
    	 public T  findByid(long id);
     
    	public  void add(T obj);
     
    	public  void  update(T obj);
     
    	public  void remove(T obj);
     
    }
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    voici ma  classe User
    package com.demo.bean;
     
    // Generated 16-mai-2012 23:03:26 by Hibernate Tools 3.3.0.GA
     
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import static javax.persistence.GenerationType.IDENTITY;
    import javax.persistence.Id;
    import javax.persistence.Table;
     
    /**
     * User generated by hbm2java
     */
    @Entity
    @Table(name = "user", catalog = "demo")
    public class User implements java.io.Serializable {
     
    	private Integer iduser;
    	private String username;
    	private String password;
     
    	public User() {
    	}
     
    	public User(String username, String password) {
    		this.username = username;
    		this.password = password;
    	}
     
    	@Id
    	@GeneratedValue(strategy = IDENTITY)
    	@Column(name = "iduser", unique = true, nullable = false)
    	public Integer getIduser() {
    		return this.iduser;
    	}
     
    	public void setIduser(Integer iduser) {
    		this.iduser = iduser;
    	}
     
    	@Column(name = "username", nullable = false, length = 45)
    	public String getUsername() {
    		return this.username;
    	}
     
    	public void setUsername(String username) {
    		this.username = username;
    	}
     
    	@Column(name = "password", nullable = false, length = 45)
    	public String getPassword() {
    		return this.password;
    	}
     
    	public void setPassword(String password) {
    		this.password = password;
    	}
     
    }

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,

    Peut on voir le code des classes DAO et User?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Bonjour,

    Peut on voir le code des classes DAO et User?
    bonjour

    voici mes classes dao contient des méthodes c'est une interface et user

    merci

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par kanebody Voir le message
    bonjour

    voici mes classes dao contient des méthodes c'est une interface et user

    merci
    T'as oublié de poster le code de ces classes
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  5. #5
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    il a édité le post d'origine
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  6. #6
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Le problème semble lié à une incompatibilité de version Hibernate, peux tu vérifier les points suivants :
    -Que tu n'aies pas 2 versions Hibernate qui trainent dans ton classpath
    -Que tu utilises bien une version jdk>= 1.5
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut log4j:WARN No appenders could be found for logger
    Citation Envoyé par DevServlet Voir le message
    Le problème semble lié à une incompatibilité de version Hibernate, peux tu vérifier les points suivants :
    -Que tu n'aies pas 2 versions Hibernate qui trainent dans ton classpath
    -Que tu utilises bien une version jdk>= 1.5
    bonjour

    ca marche j' avais 2 versions hibernates et la version jdk1.6,j ' ai de nouveau message erreur la voici
    mes fichiers jar se trouve dans le répertoire lib de mon projet
    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
     
     
    log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
    log4j:WARN Please initialize the log4j system properly.
    Initial creation failed. : java.lang.ClassCastException: org.hibernate.annotations.common.reflection.java.JavaReflectionManager cannot be cast to org.hibernate.annotations.common.reflection.MetadataProviderInjector
    28-juin-2012 23:28:34 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet ServletUser a généré une exception
    java.lang.ClassCastException: org.hibernate.annotations.common.reflection.java.JavaReflectionManager cannot be cast to org.hibernate.annotations.common.reflection.MetadataProviderInjector
    	at org.hibernate.cfg.Configuration.createReflectionManager(Configuration.java:2989)
    	at org.hibernate.cfg.Configuration.createReflectionManager(Configuration.java:2984)
    	at org.hibernate.cfg.Configuration.reset(Configuration.java:307)
    	at org.hibernate.cfg.Configuration.<init>(Configuration.java:298)
    	at org.hibernate.cfg.Configuration.<init>(Configuration.java:302)
    	at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:75)
    	at com.demo.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
    	at com.demo.dao.impl.UserImpldao.add(UserImpldao.java:17)
    	at com.demo.controlleur.ServletUser.doPost(ServletUser.java:40)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	at java.lang.Thread.run(Thread.java:619)
    merci

  8. #8
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Ici
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    Citation Envoyé par DevServlet Voir le message
    bonjour


    j' ai de nouveau message d' 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
    26
    27
    28
     
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Initial creation failed. : java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    30-juin-2012 18:47:42 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet ServletUser a généré une exception
    java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
    	at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:152)
    	at com.demo.util.HibernateUtil.<clinit>(HibernateUtil.java:12)
    	at com.demo.dao.impl.UserImpldao.add(UserImpldao.java:17)
    	at com.demo.controlleur.ServletUser.doPost(ServletUser.java:40)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    	at java.lang.Thread.run(Thread.java:619)

    voici mes fichiers jar de mon application
    antlr.jar
    asm.jar
    asm-attrs.jar
    cglib-2.2.jar
    commons-logging-api-1.1.jar
    commons-logging-1.0.4.jar
    commons-collections-3.1.jar
    dom4j-1.6.1.jar
    log4j.jar
    javassist-3.4.GA
    jta-1.1.jar
    slf4j-api-1.5.6.jar
    slf4j-simple-1.5.6.jar
    hibernate3
    ejb3-persistence.jar
    hibernate-annotations.jar
    hibernate-commons-annotations.jar

    merci

  10. #10
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Il te faut un peu chercher je pense . Ton erreur est assez explicite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    , il existe des utilitaires comme winrar qui te permettent de parcourir un jar, cherches donc la classe manquante dans tes jars existants, si la classe n'y est pas tu la télécharges.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut og4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version)
    Citation Envoyé par DevServlet Voir le message
    Il te faut un peu chercher je pense . Ton erreur est assez explicite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    , il existe des utilitaires comme winrar qui te permettent de parcourir un jar, cherches donc la classe manquante dans tes jars existants, si la classe n'y est pas tu la télécharges.
    merci ça marche

    j ' ai juste un message mais je ne sais pas qu'est-ce que ça savais dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
    log4j:WARN Please initialize the log4j system properly.

  12. #12
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par kanebody Voir le message
    merci ça marche

    j ' ai juste un message mais je ne sais pas qu'est-ce que ça savais dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
    log4j:WARN Please initialize the log4j system properly.
    Eh ben finalement tu y es arrivé. Ce dernier message n'est pas une erreur, c'est juste Log4J qui te previent qu'il ne trouve pas ton fichier de config log4J.properties ou .xml, plus d'infos ici
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut org.hibernate.hql.ast.QuerySyntaxException: user is not mapped
    Citation Envoyé par DevServlet Voir le message
    Eh ben finalement tu y es arrivé. Ce dernier message n'est pas une erreur, c'est juste Log4J qui te previent qu'il ne trouve pas ton fichier de config log4J.properties ou .xml, plus d'infos ici
    bonjour

    voici le message d' erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erreur login : org.hibernate.hql.ast.QuerySyntaxException: user is not mapped [from user u where u.username ='obj.getUsername()'and u.password='obj.getPassword()' ]
    voici la classe userimpl
    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
     
    public class Userimpl implements UserDao {
     
    	@Override
    	public boolean validateLogin(User obj) {
    		Boolean drap =false;
    		Session session = HibernateUtil.getSessionFactory().openSession();
    		Transaction tx =null;
    		User elem = null;
    		ArrayList<User> result =null;
    		try{ 
    			tx=session.beginTransaction();
    			Query q =session.createQuery(
    					"from user u where u.username ='obj.getUsername()'and u.password='obj.getPassword()' " );
    			q.setString("username",obj.getUsername());
    			q.setString("password",obj.getPassword());
    			result= (ArrayList<User>)q.list();
    			Iterator<User> it =result.iterator();
    			while(it.hasNext()){
    				elem =(User)it.next();
    			}
    			if(elem.getUsername()!=null && elem.getPassword()!=null)
    				 drap=true;
    				else	
    				 drap=false;
    			}catch (Exception e) {System.out.println("erreur login : " +e);}
    		return drap;
    	}
    voici servlet de la classe Userservlet
    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
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out =response.getWriter();
    		// on récupère les valeurs des deux champs du formulaire de la page de login
    		String username = request.getParameter("login");
    		String password = request.getParameter("pasword");
    		HttpSession session =request.getSession();
    		// on créé un objet User pour conserver les informations de l'utilisateur...
    		User user = new User();
    		user.setUsername(username);
    		user.setPassword(password);
    		Userimpl u = new Userimpl();
    		//... et on le stocke dans la session courante.
    		session.setAttribute("userimpl",u);
     
    			 if( u.validateLogin(user)==true)
    			      getServletContext().getRequestDispatcher("/WEB-INF/Useraffiche.jsp").forward(request,response);
    			 else
    				getServletContext().getRequestDispatcher("/Username.jsp").forward(request,response);
     
     
    		}

  14. #14
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour, il te suffit de bien faire gaffe à l'erreur, hibernate tient compte de la casse dans le nom de la classe Entité, ta classe mappée s'appelle et dans ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [from user u where u.username
    , tu mets plutot : , donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [from User u where u.username
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Bonjour, il te suffit de bien faire gaffe à l'erreur, hibernate tient compte de la casse dans le nom de la classe Entité, ta classe mappée s'appelle et dans ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [from user u where u.username
    , tu mets plutot : , donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [from User u where u.username
    bonjour

    j' ai suivi votre conseil , j' ai de nouveau un message d' erreur
    voici la requete
    Query q =session.createQuery(
    "From User u where u.username='obj.getUsername()'and u.password='obj.getPassword()'" );
    le paramtre username est identique de c'est lui de la classe User
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.IllegalArgumentException: Parameter username does not exist as a named parameter in [From User u where u.username='obj.getUsername()'and u.password='obj.getPassword()']
    merci

  16. #16
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    peut on savoir fonctionnellement ce que tu comptes faire dans ta requête? As tu pris le temps de bien comprendre via un tutoriel comment marche les requêtes HQL? (passage de paramètre, traitement des resultats,etc...)
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut voici message d erreur could not insert
    Citation Envoyé par DevServlet Voir le message
    peut on savoir fonctionnellement ce que tu comptes faire dans ta requête? As tu pris le temps de bien comprendre via un tutoriel comment marche les requêtes HQL? (passage de paramètre, traitement des resultats,etc...)
    bonjour

    j ai un problème d 'insertion dans la table client voici le message d 'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     org.hibernate.exception.GenericJDBCException: could not insert: [com.livre.beans.Client]

  18. #18
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    Tu ne réponds pas à ma question , mais bon fais nous quand même voir la trace complète d'erreur.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 136
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Bonjour,
    Tu ne réponds pas à ma question , mais bon fais nous quand même voir la trace complète d'erreur.
    bonjour

    message complèle d' erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
    log4j:WARN Please initialize the log4j system properly.
    erreur add client : org.hibernate.exception.GenericJDBCException: could not insert: [com.livre.beans.Client]
    classe client
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    package com.livre.dao.impl;
     
    import java.util.ArrayList;
     
    import org.hibernate.HibernateException;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
     
    import com.livre.beans.Client;
    import com.livre.dao.interfaces.Iclient;
    import com.livre.utile.Hiber;
    @SuppressWarnings("unchecked")
    public class ClientDaoImpl implements Iclient {
        private Transaction tx =null;
     
     
    	public ClientDaoImpl() {
     
    	}
     
    	@Override
    	public void add(Client o) {
    		try{
    			Session session =Hiber.getSessionFactory().openSession();
    			tx=session.beginTransaction();
    			session.saveOrUpdate(o);
    			tx.commit();
    		}catch (Exception e) {System.out.println("erreur add client : " +e);
     
    		}
     
    	}
     
    	@Override
    	public ArrayList<Client> findAll() {
    		ArrayList<Client> result =null;
    		try{
    			Session session =Hiber.getSessionFactory().openSession();
    			tx=session.beginTransaction();
    			result = (ArrayList<Client>)session.createQuery("from Client").list();
    			tx.rollback();	
    		}catch (HibernateException e) {System.out.println("no find client :"+e);
     
    		}
     
    		return result;
    	}
     
    	@Override
    	public void remove(Client o) {
    		try{
    			Session session =Hiber.getSessionFactory().openSession();	
    		  tx=session.beginTransaction();
    		  session.delete(o);
    		  tx.commit();
    		}catch (Exception e) {
     
    		}
    	}
     
    	@Override
    	public boolean PwdOublie(Client O) {
    		// TODO Auto-generated method stub
    		return false;
    	}
     
    	@Override
    	public boolean ValideLogin(Client o) {
    		Session session =Hiber.getSessionFactory().openSession();
    		boolean drap =true;
    		tx=session.beginTransaction();
    		try{
    			Query q =session.createQuery("from client c where c.login" +
     		     "='o'and c.passwd ='o'");
            q.setString("login", o.getLogin());
            q.setString("passwd",o.getPasswd());
            ArrayList<Client> unclient =(ArrayList<Client>)q.list();
            if(unclient!=null)
            	drap=true;
            else
            	drap=false;
     
    		}catch (Exception e) {System.out.println("error login or passwd  :"+e);}
    		finally{session.close();}
    		tx.commit();
    		return drap;
    	}
    classe adresse
    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
    package com.livre.dao.impl;
     
    import java.util.ArrayList;
     
    import org.apache.log4j.Logger;
    import org.hibernate.HibernateException;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
     
    import com.livre.beans.Adresse;
    import com.livre.dao.interfaces.Iadresse;
    import com.livre.utile.Hiber;
     
    public class AdresseDaoImpl implements Iadresse {
    	private Transaction tx =null;
     
    	private Logger log =Logger.getLogger(this.getClass());
    	public AdresseDaoImpl() {
    		// TODO Auto-generated constructor stub
    	}
     
    	@Override
    	public void add(Adresse o) {
    		try{
    			Session session =Hiber.getSessionFactory().openSession();
    			tx=session.beginTransaction();
    			session.saveOrUpdate(o);
    		}catch (Exception e) {log.debug("error add adresse", e);
    	  }
    	}
     
    	@Override
    	public ArrayList<Adresse> findAll() {
    		Session session =Hiber.getSessionFactory().openSession();
    		ArrayList<Adresse> result =null;
    		try{
     
    			tx=session.beginTransaction();
    			result=(ArrayList<Adresse>)session.createQuery("from Adresse");
    			tx.rollback();
    		}catch (HibernateException e) {log.debug("find adresse failed :" ,e);
     
    		}
    		return result;
    	}
    classe clientmanagerimpl
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    package com.livre.mange.impl;
     
    import java.util.ArrayList;
     
    import com.livre.beans.Adresse;
    import com.livre.beans.Client;
    import com.livre.dao.Dao;
    import com.livre.dao.impl.AdresseDaoImpl;
    import com.livre.dao.impl.ClientDaoImpl;
    import com.livre.manger.interfaces.IclientManager;
     
    public class ClientManagerImpl implements IclientManager<Client> {
    	private Dao<Client> client =null;
    	private Dao<Adresse> adresse =null;
        public Dao<Client> getClient() {
        	if(client==null)
        		client = new ClientDaoImpl();
    		return client;
    	}
     
    	public void setClient(Dao<Client> client) {
    		this.client = client;
    	}
     
    	public Dao<Adresse> getAdresse() {
    		if(adresse==null)
        		adresse = new AdresseDaoImpl();
    		return adresse;
    	}
     
    	public void setAdresse(Dao<Adresse> adresse) {
    		this.adresse = adresse;
    	}
     
     
    	public ClientManagerImpl() {
     
    	}
     
    	@Override
    	public ArrayList<Client> ClientfindAllManager() {
    		return this.getClient().findAll();
    	}
     
    	@Override
    	public boolean PwdOublieManage(Client O) {
    		return this.PwdOublieManage(O);
    	}
     
    	@Override
    	public boolean ValideLoginManage(Client o) {
    		return this.ValideLoginManage(o);
    	}
     
    	@Override
    	public void addClientManager(Client o) {
    		this.getAdresse().add(o.getAdresse());
    		this.getClient().add(o);
     
    	}
     
    	@Override
    	public boolean changepwsManage(Client o) {
    	    return this.changepwsManage(o);
    	}
     
    	@Override
    	public void deleteClientManager(Client o) {
    		if(o!=null){
    			this.getClient().remove(o);
    			this.getAdresse().remove(o.getAdresse());
    			}	
    	}
     
    	@Override
    	public void updateClientManager(Client o) {
    		if(o!=null){
    			this.getClient().add(o);
    			this.getAdresse().add(o.getAdresse());
    		}	
    	}
    }

Discussions similaires

  1. Erreur java.lang.IncompatibleClassChangeError
    Par safa-ini dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 25/06/2011, 01h37
  2. Réponses: 4
    Dernier message: 15/07/2010, 15h35
  3. Réponses: 2
    Dernier message: 31/12/2008, 13h09

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