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 :

No Dialect mapping for JDBC type: -1


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut No Dialect mapping for JDBC type: -1
    salut tout le monde,

    lorsque j'essaie d'exécuter un query sql, hibernate me jete une exception que je comprend absolument pas :s. J'utiilise HSQLDB, et lorsque j'utilise le query dans le DB manager cela fonctionne.

    En fait le query fait un select sur une table qui n'est pas mappée dans l'application, ce serait à cause de ca cette exception?

    voici la méthode que j'utilise pour lancé le query
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public double getDefault(Dirigeant d, Societe s){
    	Check.Object(d);
    	Check.Object(s);
     
    	SQLQuery q = getSession().createSQLQuery("select REMDEFAUT from dirsoc where ID_DIR ="+d.getIdDir()+" and ID_SOC = '"+s.getCryptIdSoc()+"'");
    	String ret = (String) q.uniqueResult();  // CRASH ICI
     
    	if(ret != null && !ret.trim().equals("")){
    		return new Double(Encryption.getInstance().decrypt(ret));
    	}
     
    	return 0;
    }
    l'expeption lancée par hibernate
    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
     
    Exception in thread "AWT-EventQueue-0" org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
    	at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
    	at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)
    	at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:369)
    	at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:559)
    	at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:485)
    	at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501)
    	at org.hibernate.loader.Loader.getResultSet(Loader.java:1796)
    	at org.hibernate.loader.Loader.doQuery(Loader.java:674)
    	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    	at org.hibernate.loader.Loader.doList(Loader.java:2220)
    	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    	at org.hibernate.loader.Loader.list(Loader.java:2099)
    	at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
    	at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
    	at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
    	at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
    	at be.adessa.dao.impl.RemunerationDAOImpl.getDefault(RemunerationDAOImpl.java:28)
    est-ce que quelqu'un sait me dire où est le problème et comment le corrigé?

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    Bon j'ai toujours pas compris pourquoi hibernate m'envoyait c**** mais apparemment ce serait parcequ'il n'arrive pas à faire un mapping entre le type de var utilisé (dans mon cas c'est d.getIdDir => long) et ?son fichier de mapping de type?

    bref j'ai trouvé la solution qui est à mon gout trèèèès ridicule. j'ai casté mon long dans son wrapper Long....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQLQuery q = getSession().createSQLQuery("select REMDEFAUT from dirsoc where ID_DIR ="+(Long)d.getIdDir()+" and ID_SOC = '"+s.getCryptIdSoc()+"'");

    EDIT :

    j'ai rien dis... ca plante encore avec la même erreur

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu peux montrer ton fichier de config hibernate ? Tu as précisé le dialect ?

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    ba oui il est précisé

    et je suis en HSQLDB, donc je suppose qu'il est bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
    mais en fait j'ai ce problème lorsque je fais un select sur un champs qui est de type LONGVARCHAR

Discussions similaires

  1. [Core] Erreur "No Dialect mapping for JDBC type: -8"
    Par anakin59490 dans le forum Hibernate
    Réponses: 6
    Dernier message: 16/10/2012, 12h35
  2. Réponses: 4
    Dernier message: 02/06/2008, 13h14
  3. [HIBERNATE] No Dialect mapping for JDBC type: 3
    Par PamelaGeek dans le forum Hibernate
    Réponses: 2
    Dernier message: 10/10/2007, 15h14
  4. Réponses: 4
    Dernier message: 22/09/2005, 23h57
  5. Réponses: 1
    Dernier message: 15/09/2005, 10h14

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