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 :

SQL-Query.. diabolique ?


Sujet :

Hibernate Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut SQL-Query.. diabolique ?
    Salut à tous !

    Après plusieurs heures de déboires, je m'agenouille à vos genoux en quête de solution
    J'essaie de charger, par Hibernate 3.2.5, un objet dont les attributs sont récupérés de plusieurs tables. Si j'ai bien compris, dans mon cas, je dois passer par un SQL-Query à mettre dans le fichier de mapping, et c'est là où ca bloque : j'ai une "HibernateException: Errors in named queries: load_voiture"

    -----------

    Voici mes tables (le nom des tables est bidon, dsl) :
    VOITURE
    ID_VOITURE
    ID_CAPOT
    COULEUR
    TUNING_STYLE
    VOLANT

    CAPOT
    ID_CAPOT
    FORME

    TYPE_ROUE
    COULEUR_VOITURE
    TUNING_STYLE
    COULEUR_LED

    -----------

    Voici mes objets :
    Voiture {long id, Capot capot, int couleur, String volant, int couleurLed}
    Capot {long id, String forme}
    TypeRoue {int couleurVoiture, int tuningStyle, int couleurLed}

    -----------

    Voici donc ma requête SQL pour charger les attributs de l'objet Voiture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT v.ID_VOITURE, c.ID_CAPOT, v.COULEUR, v.VOLANT, r.COULEUR_LED
    FROM VOITURE v
    INNER JOIN CAPOT c ON (c.ID_CAPOT = v.ID_CAPOT)
    LEFT OUTER JOIN TYPE_ROUE r ON (r.COULEUR_VOITURE = v.COULEUR AND r.TUNING_STYLE = v.TUNING_STYLE)
    -----------

    J'ai donc utilisé le fichier de mapping suivant :
    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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="databean">
     
        <class name="VoitureBean" table="VOITURE">
     
            <id name="id" column="ID_VOITURE">
                <generator class="databean.SequenceTableGenerator">
                    <param name="table">SEQUENCE</param>
                    <param name="primary_key_column">TABLE_NAME</param>
                    <param name="primary_key_value">VOITURE</param>
                    <param name="value_column">NEXTVAL</param>
                </generator>
            </id>
     
            <many-to-one name="capotBean" class="CapotBean" />
     
            <property name="couleur" />
            <property name="volant" />
    		<property name="couleurLed" />
     
            <loader query-ref="load_voiture"/>
        </class>
     
        <sql-query name="load_voiture"> 
            <return alias="voiture" class="databean.VoitureBean">
            	<return-property name="id" column="ID_VOITURE"/>
    			<return-property name="couleur" column="COULEUR"/>
            	<return-property name="volant" column="VOLANT"/>
        	</return>
            <return-join alias="capot" property="voiture.capotBean"/>
            SELECT {voiture.*}, voiture.ID_CAPOT as {capot.id}, type_roue.COULEUR_LED as {voiture.couleurLed}
            FROM VOITURE voiture
            JOIN CAPOT capot ON (capot.ID_CAPOT = voiture.ID_CAPOT)
    		LEFT OUTER JOIN TYPE_ROUE type_roue ON (type_roue.COULEUR_VOITURE = voiture.COULEUR_VOITURE 
    		AND type_roue.TUNING_STYLE = voiture.TUNING_STYLE)
        </sql-query>
    </hibernate-mapping>

    Ayez pitié d'un homme qui n'en peut plus svp
    Merci d'avance pour vos réponses !

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Personne n'aurait une quelconque idée, svp ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Personne n'aurait une quelconque idée, svp ?

  4. #4
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    tu n'aurais pas un message d'erreur plus explicite ?
    on peut voir le code ou tu appelles cette requete ?

    je n'y connais pas grand chose en requete nommees mais tu devrais pas avoir un parametre a passer, genre ?
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

Discussions similaires

  1. [SQL QUERY] Problème avec les servlet plutôt qu'avec SQL
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/04/2006, 01h08
  2. SQL Query sur deux tables différentes.
    Par kabal22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/12/2005, 17h52
  3. SQL Query. Récupérer une valeur
    Par James64 dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2005, 14h15
  4. Utilisation de l'apostrophe en SQL QUERY
    Par joshua.shamael dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 28/04/2005, 17h53
  5. Recherche Data pour m'exercer en SQL-Query
    Par Oneill dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/10/2004, 11h43

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