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 ?