probleme de mapping id 'assigned'
Bonjour,
je commence avec Hibernate. Je suis en train de le tester avec Eclipse 3.2, hibernate 3, et une base MySQL5.
Je n'arrive pas a avoir un mapping de mon objet JAVA correct, j'ai tout le temps l'erreur:
Code:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): net.yozine.Utilisateur
ma classe net.yozine.Utilisateur:
Code:
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 62
| package net.yozine;
import java.io.Serializable;
public class Utilisateur implements Serializable {
private Long id;
private String email;
private String nom;
private String prenom;
private Adresse adresse = new Adresse();
private String telDom;
private String telPort;
public Utilisateur() {} // constructeur sans arguments
public Long getId() {
return id;
}
private void setId(Long id) { // permet a hibernate d'initialiser l'id
this.id = id;
}
public Adresse getAdresse() {
return adresse;
}
public void setAdresse(Adresse adresse) {
this.adresse = adresse;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getTelDom() {
return telDom;
}
public void setTelDom(String telDom) {
this.telDom = telDom;
}
public String getTelPort() {
return telPort;
}
public void setTelPort(String telPort) {
this.telPort = telPort;
}
} |
le code de géneration de ma tableMySQL5:
Code:
1 2 3 4 5 6 7 8 9 10 11
| CREATE TABLE `utilisateur` (
`email` varchar(30) NOT NULL,
`nom` varchar(30) NOT NULL,
`prenom` varchar(30) NOT NULL,
`cp` varchar(5) default NULL,
`teldom` varchar(10) default NULL,
`telport` varchar(10) default NULL,
`rue` varchar(50) default NULL,
`ville` varchar(30) default NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
et enfin mon fichier de mapping:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?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>
<class name="net.yozine.Utilisateur" table="`utilisateur`" >
<id name="email" type="string" column="`email`" >
<generator class="assigned" />
</id>
<property name="nom" />
<property name="prenom" />
<property name="telDom" column="teldom" />
<property name="telPort" column="telport" />
<component name="adresse" class="net.yozine.Adresse">
<property name="rue" />
<property name="cp" />
<property name="ville" />
</component>
</class>
</hibernate-mapping> |
Merci, de votre aide.