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
*/
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<Utilisateur> ulist = manager.createQuery("select user from Utilisateur user").getResultList();
session1.setUtilisateurs(ulist);
//List<Utilisateur> 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<Session> 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());
}
}
}

View File

@@ -39,7 +39,7 @@ public class Session implements Serializable {
this.utilisateurs = utilisateurs;
}
@ManyToMany(mappedBy = "session")
@ManyToMany(mappedBy = "sessions")
public List<Utilisateur> 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);
}
}

View File

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