Bonjour a tous,

Pour commencer je suis débutent sur l'utilisation d'hibernate, mon probleme ce situe dans une methode que j'ai crée pour ajouter des clients a mon programme.

je vous soumet le code
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
   public void AjouterClient() {
        s = helper.getSessionFactory().openSession();
        s.beginTransaction();
        cl = (Client) s.get(Client.class, 1);
        co = (Commune) s.get(Commune.class, cl.getCommune().getCommuneId());
        String com = co.getCommuneNom();
        String cp = co.getCommuneCp();
        s.getTransaction().commit();
        s.close();
 
 
        if (com.compareTo(ac.jTextFieldAjoutComClient.getText()) == 0) {
            if (cp.compareTo(ac.jTextFieldAjoutCpClient.getText()) == 0) {
                co = new Commune(co.getCommuneNom(), co.getCommuneCp());
                cl = new Client(co, ac.jTextFieldAjoutNomClient.getText(),
                        ac.jTextFieldAjoutAdrClient.getText(),
                        Integer.parseInt(ac.jTextFieldAjoutNumClient.getText()),
                        ac.jTextFieldAjoutTelClient.getText(),
                        ac.jTextFieldAjoutEmailClient.getText());
                s = helper.getSessionFactory().openSession();
                s.beginTransaction();
                s.update(co);
                s.save(cl);
                s.getTransaction().commit();
                s.close();
            }
        } else {
            co = new Commune(ac.jTextFieldAjoutComClient.getText(), ac.jTextFieldAjoutCpClient.getText());
            cl = new Client(co, ac.jTextFieldAjoutNomClient.getText(),
                    ac.jTextFieldAjoutAdrClient.getText(),
                    Integer.parseInt(ac.jTextFieldAjoutNumClient.getText()),
                    ac.jTextFieldAjoutTelClient.getText(),
                    ac.jTextFieldAjoutEmailClient.getText());
            s = helper.getSessionFactory().openSession();
            s.beginTransaction();
            s.save(co);
            s.save(cl);
            s.getTransaction().commit();
            s.close();
        }
    }
Donc dans ma DB sql j'ai deux table distincte "Client" et "Commune" commune contient le nom de la commune et le code postal et l'id des communes bien sur.

Dans ma méthode je rajoute un client et je vérifie si la commune existe déjà pour ne pas avoir de doublon, mais voila ici sans taper de query sql je ne vois pas bien comment vérifier si une commune existe déjà.

Mon probleme doit venir du debut de ma methode ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
        s = helper.getSessionFactory().openSession();
        s.beginTransaction();
        cl = (Client) s.get(Client.class, 1);
        co = (Commune) s.get(Commune.class, cl.getCommune().getCommuneId());
        String com = co.getCommuneNom();
        String cp = co.getCommuneCp();
        s.getTransaction().commit();
        s.close();
Je passe en revue l'ID client n°1 mais je ne vois pas comment faire une boucle pour tous les vérifier, j'ai honte de bloquer sur une betisse comme celle ci ...