Bonjour,je m'entraîne actuellement à maitriser hibernate et je suis confronté a un problème:
j'ai une table Client et une table Livre dont je donne le code java et le mapping:
*CLIENT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class Client implements Serializable { private Set<Livre> livres = null; private Integer id; private String nom; private String prenom; private String telephone; ... }
Code xml : 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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.igtech.formation.bibliotek_core.entity.Client" table="CLIENTS"> <id name="id" column="ID"> <generator class="identity"/> </id> <property name="nom" column="NOM"/> <property name="prenom" column="PRENOM"/> <property name="telephone" column="TELEPHONE"/> <set name="livres" table="livres_empruntes" cascade="all" lazy="false"> <key column="CLIENT_ID"/> <many-to-many class="com.igtech.formation.bibliotek_core.entity.Livre" column="LIVRE_ID"/> </set> </class> </hibernate-mapping>
*LIVRE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class Livre implements Serializable { private Integer id; private String theme; private String titre; private Integer nbrePage; ... }*DAO
Code xml : 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 <?xml version="1.0" encoding="UTF-8"?> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.igtech.formation.bibliotek_core.entity.Livre" table="LIVRES"> <id name="id" column="ID"> <generator class="identity"/> </id> <property name="titre" column="TITRE"/> <property name="theme" column="THEME"/> <property name="nbrePage" column="NBREPAGE"/> </class> </hibernate-mapping>
*CONTROLLER
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @Override public void AddClientLivre(Client c) {; session.persist(c); }
Quand j'exécute le client et le livre sont stockés mais pas la table de jointure.quelqu'un peut il m'aider.Merci
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 public void AjouteClientConsole() { Scanner sc = new Scanner(System.in); Livre l = new Livre(); Client c = new Client(); Set<Livre> liste = new HashSet<>(); System.out.println("Entrer le nom:"); String nom = sc.nextLine(); System.out.println("Entrer le prenom:"); String prenom = sc.nextLine(); System.out.println("Entrer le Telephone:"); String telephone = sc.nextLine(); System.out.println("Entrer le theme du livre:"); String themes = sc.nextLine(); System.out.println("Entrer le titre du livre:"); String titre = sc.nextLine(); System.out.println("Entrer le nbre de pages:"); Integer page = sc.nextInt(); c.setNom(nom); c.setPrenom(prenom); c.setTelephone(telephone); l.setTitre(titre); l.setTheme(themes); l.setNbrePage(page); liste.add(l); service.AddClientLivre(c); }
Partager