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 :

Problème d'alias Oracle


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut Problème d'alias Oracle
    Bonjour,

    J'ai une View qui marche très bien sous Oracle:
    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
    CREATE OR REPLACE FORCE VIEW  "STOCK_TPE" ("nbr", "ID_COMMERCANT", "NOM_COM", "LIB_MAGASIN", "ID_TPE", "LIB_TPE", "ID_OPERATEUR", "LIB_OPERATEUR", "ID_TYPE_CARTE", "LIB_TYPE_CARTE", "STATUS") AS 
      select  count(t.id_type_carte) as "nbr",t.id_commercant, c.nom_com,m.lib_magasin, t.id_tpe, e.lib_tpe,t.id_operateur,o.lib_operateur,t.id_type_carte, tc.lib_type_carte, t.status
     
    from
            tables_cles t   ,   type_carte tc   ,
            operateur o     ,   tpe e           , commercant c , magasin m
    where
        t.id_operateur=o.id_operateur and
        t.id_type_carte=tc.id_type_carte and
        t.id_commercant=c.id_commercant and
        t.id_tpe=e.id_tpe  and
        e.id_magasin=m.id_magasin and
        t.status in (5,6)
     
    GROUP BY t.id_commercant, c.nom_com, m.lib_magasin, t.id_tpe, e.lib_tpe,t.id_operateur,o.lib_operateur,t.id_type_carte, tc.lib_type_carte, t.status;
    Le problème est lorsque je veux exécuter cette view avec criteria Hibernate.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
        Criteria crit = session.createCriteria(StockTpe.class);
        return crit.list();
    Je reçois cette erreur :
    [WARN,JDBCExceptionReporter,http-8080-2] SQL Error: 904, SQLState: 42000
    [ERROR,JDBCExceptionReporter,http-8080-2] ORA-00904: "THIS_"."NBR" : identificateur non valide
    Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?

    Merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 250
    Points : 403
    Points
    403
    Par défaut
    Je vais peut être dire une bêtise mais n'y aurait-il pas un problème de casse sur la propriété nbr | NBR ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    je crois que hibernate sait pas transformer l'alias

  4. #4
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Bonjour,

    Hibernate ne devrait pas avoir de problème avec les vues.

    Quelle version d'Hibernate utilises-tu ? Il y a un bug qui a été relevé sur les versions 3.0.5, 3.5.5, 3.6.0.Beta3, et qui ressemble de loin à ce que tu décris (Projection en moins) : https://hibernate.onjira.com/browse/HHH-817

    C'est peut être une piste à suivre.

    Benoit

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    j'utilise hibernate 3 , le problème c'est dans l'utilisation d'alias nbr lorsque je supprime le count de ma view tout marche bien

  6. #6
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Ok, j'avais mal ciblé le problème et du coup ma première réponse n'était pas judicieuse.

    Quand tu dis que la vue fonctionne bien, ça veut dire que tu as pu exécuter la requête suivante sans problème ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nbr from stock_tpe;
    As-tu essayé de positionner le flag Hibernate "show_sql" à true pour voir quelle requête SQL est générée par Hibernate ?

    Benoit

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    oui ma view marche trés bien au niveau console oracle select from stocktpe .
    le problème dans la création criteria avec hibernate createcriteria(stocktpe.class)
    return crit.list
    hibernate sait pas l'alias nbr lier au count(id_typecarte) et lorsque je supprime count de ma view tous marche bien au niveau criteria donc le problème effectivement dans l'utilisation d'alias nbr et je peux pas crée une view sans utiliser l'alias si je veux utiliser count

Discussions similaires

  1. Oracle 10g : Problème d'alias dans le SQL
    Par eryk71 dans le forum SQL
    Réponses: 2
    Dernier message: 08/04/2008, 16h49
  2. Problème sur OEM oracle 9i
    Par seal dans le forum Entreprise Manager
    Réponses: 16
    Dernier message: 28/07/2005, 09h55
  3. problème avec job oracle
    Par cyberyan dans le forum Oracle
    Réponses: 3
    Dernier message: 29/03/2005, 18h16
  4. Problème ADO et oracle en VC++
    Par cedric31 dans le forum MFC
    Réponses: 3
    Dernier message: 04/03/2005, 09h04
  5. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18

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