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 :

Configuration des fichiers hbm.xml


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut Configuration des fichiers hbm.xml
    Bonjour Messieurs,

    Je suis actuellement sur un problème de configuration Hibernate. Je suis sur un projet avec hibernate.3.0 et spring-bean-2.5 avec des fichiers de mapping hbm.xml(il est pas tout jeune le projet).

    J'ai une table sans clé primaire qui contient juste 2 champ mais je ne peut pas charger mon fichier hbm.xml sans la balise id.

    J'ai découvert dans la FAQ Hibernate :

    Peut-on mapper les classes qui n'ont pas de clé primaire ?
    [haut]
    auteur : enok37

    La réponse est oui. Effectivement, Hibernate permet de mapper les classes qui n'ont pas de clé primaire.


    Lorsqu'une table n'a pas de clé primaire, le tag <generator .. > à l'intérieur du tag <id .....> </id> n'est pas indispensable car par defaut, il est à "assigned" . Mais le tag <id .....> </id> est obligatoire car Hibernate se sert de ce tag pour rechercher (loader vos objets). Dans vos fichiers de mapping, vous devez avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <id
    	column="nomColumn"
    	name="unNom"
    	type="LeType"
    >
    	<generator class="assigned" />
    </id>
    <property ... />
    Ou Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <id
    	column="nomColumn"
    	name="unNom"
    	type="LeType"
    >
    </id>
    <property ... />

    Ce que je n'arrive pas a comprendre c'est si ma table na pas de clé primaire je renseigne avec quoi les attributs column name ?

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut
    C'est bon plus d'erreurs.
    Mon fichier fait bien la résolution entre ma table et ma classe java.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <id column="fake"	name="idInstall"	type="int"> </id>
    J'ai juste rajouté un champ idinstall dans ma classe java. Par contre je n'est pas la colonne fake dans ma base de donnée.

    J'ai encore une question :

    Comment ce fait-il que je ne puisse pas récupérer mon entité avec une simple requête.

    L'erreur est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SQL Error: 0, SQLState: S0022
    Column 'fake' not found.
    ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<ProjectInstall> infos= sess.createSQLQuery("Select INSTALL_VERSION, INSTALL_DATE from projectinstall").addEntity(ProjectInstall.class).list();

Discussions similaires

  1. [Mapping] Auto génération des fichiers *.hbm.xml
    Par Shaolan38 dans le forum Hibernate
    Réponses: 0
    Dernier message: 20/04/2012, 11h53
  2. Réponses: 3
    Dernier message: 17/08/2007, 12h02
  3. configuration des fichiers.xml
    Par verdi-verda dans le forum Struts 1
    Réponses: 6
    Dernier message: 15/06/2007, 17h51
  4. Réponses: 5
    Dernier message: 30/03/2007, 11h28
  5. Fichier hbm.xml non trouvé
    Par joseph_p dans le forum Hibernate
    Réponses: 2
    Dernier message: 26/05/2006, 10h58

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