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 :

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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