Unsaved transient entity, Dependent entities, Non-nullable association(s)
Bonjour a tous :)
j'ai un problème avec la méthode créer un nouveau utilisateur qui y a un attribut d'autre classe (clé étrangère )
voila erreur :
Citation:
Info: Hibernate: select compte0_.idCompte as idCompte1_3_, compte0_.username as username2_3_, compte0_.password as password3_3_, compte0_.role as role4_3_, compte0_.etat as etat5_3_, compte0_.profil as profil6_3_ from dbsalama.compte compte0_
WARN: HHH000437: Attempting to save one or more entities that have a non-nullable association with an unsaved transient entity. The unsaved transient entity must be saved in an operation prior to saving these dependent entities.
Unsaved transient entity: ([ma.salama.gs.model.Compte#0])
Dependent entities: ([[ma.salama.gs.model.Directeur#<null>]])
Non-nullable association(s): ([ma.salama.gs.model.Directeur.compte])
Info: Hibernate: select directeur0_.idDirecteur as idDirect1_5_0_, compte1_.idCompte as idCompte1_3_1_, directeur0_.user as user2_5_0_, directeur0_.nom as nom3_5_0_, directeur0_.prenom as prenom4_5_0_, directeur0_.adresse as adresse5_5_0_, directeur0_.telephone as telephon6_5_0_, directeur0_.email as email7_5_0_, compte1_.username as username2_3_1_, compte1_.password as password3_3_1_, compte1_.role as role4_3_1_, compte1_.etat as etat5_3_1_, compte1_.profil as profil6_3_1_ from dbsalama.directeur directeur0_ left outer join dbsalama.compte compte1_ on directeur0_.user=compte1_.idCompte
Info: Hibernate: select directeur0_.idDirecteur as idDirect1_5_0_, compte1_.idCompte as idCompte1_3_1_, directeur0_.user as user2_5_0_, directeur0_.nom as nom3_5_0_, directeur0_.prenom as prenom4_5_0_, directeur0_.adresse as adresse5_5_0_, directeur0_.telephone as telephon6_5_0_, directeur0_.email as email7_5_0_, compte1_.username as username2_3_1_, compte1_.password as password3_3_1_, compte1_.role as role4_3_1_, compte1_.etat as etat5_3_1_, compte1_.profil as profil6_3_1_ from dbsalama.directeur directeur0_ left outer join dbsalama.compte compte1_ on directeur0_.user=compte1_.idCompte
voila la méthode créer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Override
public boolean create(Directeur directeur) {
boolean flag;
Session session=HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
try {
session.save(directeur);
tx.commit();
flag = true;
} catch (Exception e) {
flag = false;
tx.rollback();
}
return flag;
} |
voila la classe Directeur.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| @Entity
@Table(name="directeur"
,catalog="dbsalama"
)
public class Directeur implements java.io.Serializable {
private Integer idDirecteur;
private Compte compte;
private String nom;
private String prenom;
private String adresse;
private String telephone;
private String email;
public Directeur() {
this.compte = new Compte();
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="user", nullable=false)
public Compte getCompte() {
return this.compte;
} |
j'ai trouvé dans le net qu'il faut faire sa
dao.save(compte)
dao.save(directeur)
mais je ne sais pas comment faire sa pour ma situation
merci d'avance :)