From 1139a6ec7eee859de04156b35c05cbd3ca489175 Mon Sep 17 00:00:00 2001 From: trochas Date: Mon, 22 Sep 2025 16:45:18 +0200 Subject: [PATCH] JpaTest todo fini Quizz --- src/main/java/jpa/JpaTest.java | 46 +++++++++++++++++++-------- src/main/java/metier/Session.java | 8 ++++- src/main/java/metier/Utilisateur.java | 14 +++++--- 3 files changed, 49 insertions(+), 19 deletions(-) diff --git a/src/main/java/jpa/JpaTest.java b/src/main/java/jpa/JpaTest.java index 226bcc8..c96a074 100644 --- a/src/main/java/jpa/JpaTest.java +++ b/src/main/java/jpa/JpaTest.java @@ -20,16 +20,16 @@ public class JpaTest { * @param args */ public static void main(String[] args) { - EntityManager manager = EntityManagerHelper.getEntityManager(); + EntityManager manager = EntityManagerHelper.getEntityManager(); JpaTest test = new JpaTest(manager); EntityTransaction tx = manager.getTransaction(); tx.begin(); try { - test.create_user_test(); + //test.create_user_test(); + //test.list_utilisateur(); test.create_session_test(); - //test.list_utilisateur(); test.list_session(); } catch (Exception e) { e.printStackTrace(); @@ -59,22 +59,37 @@ public class JpaTest { } - private void create_session_test() { - int numUser = manager.createQuery("SELECT u FROM Session u", Session.class).getResultList().size(); - if (numUser == 0) { - //Utilisateur - + private void create_session_test() { + int numSession = manager.createQuery("SELECT s FROM Session s", Session.class).getResultList().size(); + if (numSession == 0) { Session session1 = new Session(); - session1.setCodePIN(1703); + //session1.setCodePIN(1703); session1.setTheme("Inphormatik"); session1.setQuizzs(new ArrayList<>()); - List ulist = manager.createQuery("select user from Utilisateur user").getResultList(); - session1.setUtilisateurs(ulist); + //List ulist = manager.createQuery("select user from Utilisateur user").getResultList(); + //session1.setUtilisateurs(ulist); + session1.setUtilisateurs(new ArrayList<>()); + + Utilisateur utilisateur1 = new Utilisateur(); + utilisateur1.setName("Tibo"); + utilisateur1.setSessions(new ArrayList<>()); + + + Utilisateur utilisateur2 = new Utilisateur(); + utilisateur2.setName("Rochas"); + utilisateur2.setSessions(new ArrayList<>()); + + session1.addUser(utilisateur1); + session1.addUser(utilisateur2); + + Quizz quizz1 = new Quizz(); + session1.addQuizz(quizz1); manager.persist(session1); + } } @@ -89,9 +104,14 @@ public class JpaTest { private void list_session(){ List result_session_list= manager.createQuery("select s from Session s", Session.class).getResultList(); for (Session s : result_session_list) { - System.out.println(s.getCodePIN() + " " + s.getTheme()); + System.out.println("\n" +s.getCodePIN() + " " + s.getTheme()); + System.out.println("User :" + s.getUtilisateurs().size()); for(Utilisateur u : s.getUtilisateurs()){ - System.out.println(u.getId() + " " + u.getName() +" "+ u.getEmail()); + System.out.println("\t"+u.getId() + " " + u.getName() +" "+ u.getEmail()); + } + System.out.println("Quizzs :" + s.getQuizzs().size()); + for(Quizz q : s.getQuizzs()){ + System.out.println("\t"+q.getId()); } } } diff --git a/src/main/java/metier/Session.java b/src/main/java/metier/Session.java index 97d7a68..cb181f5 100644 --- a/src/main/java/metier/Session.java +++ b/src/main/java/metier/Session.java @@ -39,7 +39,7 @@ public class Session implements Serializable { this.utilisateurs = utilisateurs; } - @ManyToMany(mappedBy = "session") + @ManyToMany(mappedBy = "sessions") public List getUtilisateurs() { return this.utilisateurs; } @@ -54,5 +54,11 @@ public class Session implements Serializable { public void addUser(Utilisateur user){ this.utilisateurs.add(user); + user.joinSession(this); + } + + public void addQuizz(Quizz quizz){ + this.quizzs.add(quizz); + quizz.setSession(this); } } \ No newline at end of file diff --git a/src/main/java/metier/Utilisateur.java b/src/main/java/metier/Utilisateur.java index aaf3bd5..affb7f7 100644 --- a/src/main/java/metier/Utilisateur.java +++ b/src/main/java/metier/Utilisateur.java @@ -10,7 +10,7 @@ public class Utilisateur implements Serializable { private int id; private String name; - private List session; + private List sessions; private String email; private String password; private List quizzs; @@ -50,18 +50,22 @@ public class Utilisateur implements Serializable { joinColumns = @JoinColumn(name="utilisateur_id"), inverseJoinColumns = @JoinColumn(name = "session_pin") ) - public List getSession() { - return session; + public List getSessions() { + return sessions; } - public void setSession(List session){ - this.session = session; + public void setSessions(List sessions){ + this.sessions = sessions; } public String getPassword() { return this.password; } + public void joinSession(Session session){ + this.sessions.add(session); + } + public void setPassword(String password) { this.password = password; }