JpaTest todo fini Quizz

This commit is contained in:
trochas
2025-09-22 16:45:18 +02:00
parent 9280c3fa64
commit 1139a6ec7e
3 changed files with 49 additions and 19 deletions

View File

@@ -20,16 +20,16 @@ public class JpaTest {
* @param args * @param args
*/ */
public static void main(String[] args) { public static void main(String[] args) {
EntityManager manager = EntityManagerHelper.getEntityManager(); EntityManager manager = EntityManagerHelper.getEntityManager();
JpaTest test = new JpaTest(manager); JpaTest test = new JpaTest(manager);
EntityTransaction tx = manager.getTransaction(); EntityTransaction tx = manager.getTransaction();
tx.begin(); tx.begin();
try { try {
test.create_user_test(); //test.create_user_test();
//test.list_utilisateur();
test.create_session_test(); test.create_session_test();
//test.list_utilisateur();
test.list_session(); test.list_session();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@@ -59,22 +59,37 @@ public class JpaTest {
} }
private void create_session_test() { private void create_session_test() {
int numUser = manager.createQuery("SELECT u FROM Session u", Session.class).getResultList().size(); int numSession = manager.createQuery("SELECT s FROM Session s", Session.class).getResultList().size();
if (numUser == 0) { if (numSession == 0) {
//Utilisateur
Session session1 = new Session(); Session session1 = new Session();
session1.setCodePIN(1703); //session1.setCodePIN(1703);
session1.setTheme("Inphormatik"); session1.setTheme("Inphormatik");
session1.setQuizzs(new ArrayList<>()); session1.setQuizzs(new ArrayList<>());
List<Utilisateur> ulist = manager.createQuery("select user from Utilisateur user").getResultList(); //List<Utilisateur> ulist = manager.createQuery("select user from Utilisateur user").getResultList();
session1.setUtilisateurs(ulist); //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); manager.persist(session1);
} }
} }
@@ -89,9 +104,14 @@ public class JpaTest {
private void list_session(){ private void list_session(){
List<Session> result_session_list= manager.createQuery("select s from Session s", Session.class).getResultList(); List<Session> result_session_list= manager.createQuery("select s from Session s", Session.class).getResultList();
for (Session s : result_session_list) { 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()){ 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());
} }
} }
} }

View File

@@ -39,7 +39,7 @@ public class Session implements Serializable {
this.utilisateurs = utilisateurs; this.utilisateurs = utilisateurs;
} }
@ManyToMany(mappedBy = "session") @ManyToMany(mappedBy = "sessions")
public List<Utilisateur> getUtilisateurs() { public List<Utilisateur> getUtilisateurs() {
return this.utilisateurs; return this.utilisateurs;
} }
@@ -54,5 +54,11 @@ public class Session implements Serializable {
public void addUser(Utilisateur user){ public void addUser(Utilisateur user){
this.utilisateurs.add(user); this.utilisateurs.add(user);
user.joinSession(this);
}
public void addQuizz(Quizz quizz){
this.quizzs.add(quizz);
quizz.setSession(this);
} }
} }

View File

@@ -10,7 +10,7 @@ public class Utilisateur implements Serializable {
private int id; private int id;
private String name; private String name;
private List<Session> session; private List<Session> sessions;
private String email; private String email;
private String password; private String password;
private List<Quizz> quizzs; private List<Quizz> quizzs;
@@ -50,18 +50,22 @@ public class Utilisateur implements Serializable {
joinColumns = @JoinColumn(name="utilisateur_id"), joinColumns = @JoinColumn(name="utilisateur_id"),
inverseJoinColumns = @JoinColumn(name = "session_pin") inverseJoinColumns = @JoinColumn(name = "session_pin")
) )
public List<Session> getSession() { public List<Session> getSessions() {
return session; return sessions;
} }
public void setSession(List<Session> session){ public void setSessions(List<Session> sessions){
this.session = session; this.sessions = sessions;
} }
public String getPassword() { public String getPassword() {
return this.password; return this.password;
} }
public void joinSession(Session session){
this.sessions.add(session);
}
public void setPassword(String password) { public void setPassword(String password) {
this.password = password; this.password = password;
} }