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 :

Erreur sur une requête SQL


Sujet :

JPA Java

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Points : 213
    Points
    213
    Par défaut Erreur sur une requête SQL
    bonjour,

    le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    try {
                //Query query = em.createQuery("select c from cotisation c where c.csgrds=:csgrds and c.csgd=:csgd and c.secu=:secu and c.retraite=:retraite");
                Query query = em.createNativeQuery("select * from cotisation where csgrds='"+ze_csgrds+"' and csgd='"+ze_csgd+"' and secu='"+ze_secu+"' and retraite='"+ze_retraite+"'");
                //query.setParameter("csgrds", ze_csgrds);
                //query.setParameter("csgd", ze_csgd);
                //query.setParameter("secu", ze_secu);
                //query.setParameter("retraite", ze_retraite);
                liste = query.getResultList();
            } catch (Exception e) {
                System.out.println(e.toString());
                throw new PamException("Erreur dans dao/cotisation_dao/create - opération query", 2);
            }
    produit une erreur à la ligne liste=query.getResultList();, l'erreur est:

    javax.persistence.PersistenceException: org.hibernate.MappingException: No Dialect mapping for JDBC type: 7
    savez-vous ce que cela signifie? voici à tout hasard le fichier persistence.xml:

    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
     
    <?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" >
      <!--
      <persistence-unit name="intro_J2EEPU" transaction-type="RESOURCE_LOCAL">
        <class>intro_j2ee.jpa.cotisation</class>
        <class>intro_j2ee.jpa.employé</class>
        <class>intro_j2ee.jpa.indemnité</class>
        <properties>
          <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
          <property name="" value="diddlepak"/>
        </properties>
      </persistence-unit>
      -->
      <persistence-unit name="intro_J2EEPU" transaction-type="RESOURCE_LOCAL">
     <!-- provider -->
     
     <!--<class>intro_j2ee.jpa.cotisation</class>
        <class>intro_j2ee.jpa.employé</class>
        <class>intro_j2ee.jpa.indemnité</class>-->
     
     <provider>org.hibernate.ejb.HibernatePersistence</provider>
     <properties>
     <!-- Classes persistantes -->
     <property name="hibernate.archive.autodetection" value="class, hbm"/>
     
     <property name="hibernate.show_sql" value="true"/>
     <property name="hibernate.format_sql" value="true"/>
     <property name="use_sql_comments" value="true"/>
     
     <!-- connexion JDBC -->
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa2"/>
     <property name="hibernate.connection.username" value="jpa2"/>
     <property name="hibernate.connection.password" value="jpa2"/>
     <!-- création automatique du schéma -->
     <property name="hibernate.hbm2ddl.auto" value="create"/>
     <!-- Dialecte -->
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
     <!-- propriétés DataSource c3p0 -->
     <property name="hibernate.c3p0.min_size" value="5"/>
     <property name="hibernate.c3p0.max_size" value="20"/>
     <property name="hibernate.c3p0.timeout" value="300"/>
     <property name="hibernate.c3p0.max_statements" value="50"/>
     <property name="hibernate.c3p0.idle_test_period" value="3000"/>
     </properties>
     </persistence-unit>
    </persistence>

    lolveley.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2008
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Il me semble que dans une requete JPA, on indique la classe et non la table c'est à dire dans ton cas Cotisation et non cotisation.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Points : 213
    Points
    213
    Par défaut
    oui, mais CreateNativeQuery utilise une requête SQL et non JPQL.
    je crois que j'ai trouvé le problème, il s'agit du fait que "float" n'est pas reconnu par hibernate, j'ai donc remplacé mes float par des double et j'obtiens une erreur de cast cette fois-ci (rendez-vous dans le forum "java" général pour lire mon post mon pseudo : olivier57b)

    lolveley.

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

Discussions similaires

  1. [AC-2007] Erreur 3061 sur "OpenrecordSet" basé sur une requête SQL
    Par MarcelB dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2014, 05h30
  2. [SQL] Erreur sur une requête
    Par nani1 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/04/2008, 17h29
  3. [SQL] Erreur sur une requète avec un Like
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/05/2007, 14h29
  4. Réponses: 8
    Dernier message: 01/03/2005, 16h01
  5. Pb sur une requête SQL (de champ vide)
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 11h12

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