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 de compréhension !


Sujet :

Hibernate Java

  1. #1
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut problème de compréhension !
    Bonsoir à tous,

    j'essaye de faire qques requêtes en HQL mais j'ai des résultats plutôt curieux


    Par exemple, la requête suivante tourne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    list = session.find("FROM com.minosis.hibernate.Personne  " +
    				" WHERE id_personne = 1 " );
    mais si je la formule ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    list = session.find("FROM com.minosis.hibernate.Personne personne " +
    				" WHERE personne.id_personne = 1 " );
    il y a une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    could not resolve property: id_personne
    des idées là -dessus ?

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Laisse moi te conseiller un lien vers la doc ou souvent je trouve des reponses :

    http://www.hibernate.org/hib_docs/v3.../queryhql.html

    et pour ton probleme je pense qu'il te faut ecrire ton hql comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM com.minosis.hibernate.Personne AS personne  WHERE personne.id_personne = 1

  3. #3
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Ben, j'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FROM com.minosis.hibernate.Personne AS personne  WHERE personne.id_personne = 1
    mais ça ne donne rien de plus ! 'toutes façon, j'ai lu que c'était optionnel...

    Je vais allez voir la doc dont tu m'as parlé.

    merci

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Fais voir ton fichier de mapping.

    Peut-etre il y'a autre chose.

  5. #5
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Citation Envoyé par willoi
    Fais voir ton fichier de mapping.

    Peut-etre il y'a autre chose.
    voilà, m'sieur !
    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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    	"-//Hibernate/Hibernate Mapping DTD//EN"
    	"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
     
    <hibernate-mapping package="com.minosis.hibernate">
    	<class name="Personne" table="PERSONNE">
    		<id
    			column="ID_PERSONNE"
    			name="IdPersonne"
    			type="integer"
    		>
    			<generator class="vm" />
    		</id>
    		<property
    			column="PRENOM"
    			length="50"
    			name="Prenom"
    			not-null="true"
    			type="string"
    		 />
    		<property
    			column="NOM"
    			length="50"
    			name="Nom"
    			not-null="true"
    			type="string"
    		 />
    		<property
    			column="ADRESSE"
    			length="150"
    			name="Adresse"
    			not-null="false"
    			type="string"
    		 />
    		<property
    			column="DATE_NAISSANCE"
    			length="10"
    			name="DateNaissance"
    			not-null="false"
    			type="date"
    		 />
    		<!-- please tell Joe Hudson that the type 'BLOB SUB_TYPE 2' could not be resolved.. defaulting to java.lang.String -->
    		<property
    			column="PHOTO"
    			name="Photo"
    			not-null="false"
    			type="java.lang.String"
    		 />
     
    		<set inverse="true" name="LICENCESet">
    			<key column="ID_PERSONNE" />
    			<one-to-many class="Licence" />
    		</set>
    		<set inverse="true" name="ENGAGEMENTSet">
    			<key column="ID_PERSONNE" />
    			<one-to-many class="Engagement" />
    		</set>
    	</class>
    </hibernate-mapping>

  6. #6
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 159
    Points : 97
    Points
    97
    Par défaut
    Bonsoir . hql c'est du objet. Il faut donc que tu utilise plutot le nom de ton champ (dans la classe personne) plutot que le nom de l'attribut table.

    Je te conseile ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM com.minosis.hibernate.Personne AS personne  WHERE personne.IdPersonne = 1
    Au lieu de la valeur de column="id_personne"
    j'ai utilise la valeur de name="IdPersonne"

    NB: petit conseil. essaie de respecter les petites regles de nomenclature de java (Par exemple ton name devrait etre idPersonne, plutot que IdPersonne)

    Essaie et dis nous la suite

  7. #7
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Citation Envoyé par ouedmouss
    Bonsoir . hql c'est du objet. Il faut donc que tu utilise plutot le nom de ton champ (dans la classe personne) plutot que le nom de l'attribut table.

    Je te conseile ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM com.minosis.hibernate.Personne AS personne  WHERE personne.IdPersonne = 1
    Au lieu de la valeur de column="id_personne"
    j'ai utilise la valeur de name="IdPersonne"

    NB: petit conseil. essaie de respecter les petites regles de nomenclature de java (Par exemple ton name devrait etre idPersonne, plutot que IdPersonne)

    Essaie et dis nous la suite
    Dans ce cas là, comment expliques-tu le fait que cette requête fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    list = session.find("FROM com.minosis.hibernate.Personne  " +
    				" WHERE id_personne = 1 " );
    ?

    pour la notation, je ne sais pas comment paramétrer la génération automatique mais tu as raison, il faut respecter les règles de nommages.

    J'essaye ta solution tout de suite.

  8. #8
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Citation Envoyé par ouedmouss
    Bonsoir . hql c'est du objet. Il faut donc que tu utilise plutot le nom de ton champ (dans la classe personne) plutot que le nom de l'attribut table.

    Je te conseile ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM com.minosis.hibernate.Personne AS personne  WHERE personne.IdPersonne = 1
    Au lieu de la valeur de column="id_personne"
    j'ai utilise la valeur de name="IdPersonne"

    NB: petit conseil. essaie de respecter les petites regles de nomenclature de java (Par exemple ton name devrait etre idPersonne, plutot que IdPersonne)

    Essaie et dis nous la suite
    Ca marche super ! merci beaucoup ouedmouss + willoi

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

Discussions similaires

  1. [Débutant] problème de compréhension
    Par Sylvester dans le forum Général Java
    Réponses: 18
    Dernier message: 21/07/2005, 09h16
  2. Réponses: 5
    Dernier message: 11/04/2005, 10h21
  3. [C#] Problème de compréhension de System.Convert ET Provider
    Par papouAlain dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/11/2004, 21h52
  4. onclipevent (problème de compréhension)
    Par stephane eyskens dans le forum Flash
    Réponses: 8
    Dernier message: 24/09/2003, 15h09
  5. Problème de compréhension des ensembles
    Par Cornell dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 22h07

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