Erreur "AnnotationException: No identifier specified for entity"
Bonjour
J'ai une table que je veux representer en Une classe JPA 2.0,
Table
Code:
1 2 3 4 5 6 7 8 9
| CREATE TABLE `f_utilisateur_emetteur` (
`f_utilisateur` bigint(20) NOT NULL,
`emetteur` bigint(20) NOT NULL,
PRIMARY KEY (`f_utilisateur`,`emetteur`),
KEY `FK9F09081A88EE2CB` (`f_utilisateur`),
KEY `FK9F09081A5A83FFEC` (`emetteur`),
CONSTRAINT `f_utilisateur_emetteur_ibfk_4` FOREIGN KEY (`emetteur`) REFERENCES `f_emetteur` (`id`),
CONSTRAINT `f_utilisateur_emetteur_ibfk_3` FOREIGN KEY (`f_utilisateur`) REFERENCES `f_utilisateur` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
Representation
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| @Entity
@Table(name = "f_utilisateur_emetteur", uniqueConstraints = @UniqueConstraint(columnNames = {
"f_utilisateur", "emetteur" }))
@Configurable
public class UtilisateurEmetteur {
@ManyToMany(cascade = CascadeType.ALL)
@Column(name = "f_utilisateur")
private Integer id;
@ManyToMany(cascade = CascadeType.ALL)
@Column(name = "emetteur")
private Integer emetteur;
public Integer getF_utilisateur() {
return id;
}
public void setF_utilisateur(Integer f_utilisateur) {
this.id = f_utilisateur;
}
public Integer getEmetteur() {
return emetteur;
}
public void setEmetteur(Integer emetteur) {
this.emetteur = emetteur;
}
@PersistenceContext
transient EntityManager entityManager;
@Transactional
public void persist() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.entityManager.persist(this);
}
@Transactional
public void remove() {
if (this.entityManager == null)
this.entityManager = entityManager();
if (this.entityManager.contains(this)) {
this.entityManager.remove(this);
} else {
UtilisateurEmetteur attached = this.entityManager
.find(this.getClass(), this.id);
this.entityManager.remove(attached);
}
}
@Transactional
public void flush() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.entityManager.flush();
}
@Transactional
public UtilisateurEmetteur merge() {
if (this.entityManager == null)
this.entityManager = entityManager();
UtilisateurEmetteur merged = this.entityManager.merge(this);
this.entityManager.flush();
return merged;
}
public static final EntityManager entityManager() {
EntityManager em = new UtilisateurEmetteur().entityManager;
if (em == null)
throw new IllegalStateException(
"Entity manager has not been injected (is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)");
return em;
}
} |
au lancement de l'application j'ai le message d'erreur suivant
Citation:
AnnotationException: No identifier specified for entity UtilisateurEmetteur
Une idée d'ou ça peut en venir ? Merci d'avance