This commit is contained in:
trochas
2025-09-19 12:56:39 +02:00
parent f1a2f78ead
commit 108df26aca
12 changed files with 90 additions and 11 deletions

View File

@@ -1,5 +1,9 @@
package DAO;
import java.util.List;
import jakarta.persistence.EntityTransaction;
import jakarta.persistence.Query;
import metier.Reponse;
public class ReponseDAO extends GenericDAOImpl<Integer, Reponse> {
@@ -8,4 +12,13 @@ public class ReponseDAO extends GenericDAOImpl<Integer, Reponse> {
this.setClass(Reponse.class);
}
/*public List<String> getGoodResponses(){
EntityTransaction t=em.getTransaction();
t.begin();
Query query=em.createQuery("select r from Reponse r where r.reponses");
List<String> lString=query.getResultList();
t.commit();
return lString;
}*/
}

View File

@@ -4,6 +4,7 @@ package DAO;
import jakarta.persistence.EntityTransaction;
import jakarta.persistence.Query;
import metier.Session;
import metier.Utilisateur;
import java.util.List;
@@ -13,6 +14,9 @@ public class SessionDAO extends GenericDAOImpl<Integer, Session> {
this.setClass(Session.class);
}
public List<Session> findByTheme(String theme){
EntityTransaction t=em.getTransaction();
t.begin();

View File

@@ -5,6 +5,7 @@ import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityTransaction;
import metier.*;
import java.util.ArrayList;
import java.util.List;
public class JpaTest {
@@ -27,7 +28,9 @@ public class JpaTest {
tx.begin();
try {
test.create_user_test();
test.list_utilisateur();
test.create_session_test();
//test.list_utilisateur();
test.list_session();
} catch (Exception e) {
e.printStackTrace();
}
@@ -49,15 +52,49 @@ public class JpaTest {
Utilisateur utilisateur2 = new Utilisateur();
utilisateur2.setName("Rochas");
manager.persist(utilisateur1);
manager.persist(utilisateur2);
}
}
private void create_session_test() {
int numUser = manager.createQuery("SELECT u FROM Session u", Session.class).getResultList().size();
if (numUser == 0) {
//Utilisateur
Session session1 = new Session();
session1.setCodePIN(1703);
session1.setTheme("Inphormatik");
session1.setQuizzs(new ArrayList<>());
List<Utilisateur> ulist = manager.createQuery("select user from Utilisateur user").getResultList();
session1.setUtilisateurs(ulist);
manager.persist(session1);
}
}
private void list_utilisateur(){
List<Utilisateur> result_utilisatuer_list= manager.createQuery("select u from Utilisateur u", Utilisateur.class).getResultList();
for (Utilisateur u : result_utilisatuer_list) {
System.out.println(u.getId() + " " + u.getName() +" "+ u.getEmail());
}
}
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());
for(Utilisateur u : s.getUtilisateurs()){
System.out.println(u.getId() + " " + u.getName() +" "+ u.getEmail());
}
}
}
}

View File

@@ -2,14 +2,15 @@ package metier;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import jakarta.persistence.*;
@Entity
public class Session implements Serializable {
private int codePIN;
private ArrayList<Quizz> quizzs;
private ArrayList<Utilisateur> utilisateurs;
private List<Quizz> quizzs;
private List<Utilisateur> utilisateurs;
private String theme;
public Session(){
@@ -25,29 +26,33 @@ public class Session implements Serializable {
return this.codePIN;
}
public void setQuizzs(ArrayList<Quizz> quizzs){
public void setQuizzs(List<Quizz> quizzs){
this.quizzs = quizzs;
}
@OneToMany(mappedBy="session")
public ArrayList<Quizz> getQuizzs(){
public List<Quizz> getQuizzs(){
return this.quizzs;
}
public void setUtilisateurs(ArrayList<Utilisateur> utilisateurs){
public void setUtilisateurs(List<Utilisateur> utilisateurs){
this.utilisateurs = utilisateurs;
}
@ManyToMany(mappedBy = "session")
public ArrayList<Utilisateur> getUtilisateurs() {
public List<Utilisateur> getUtilisateurs() {
return this.utilisateurs;
}
private String getTheme(){
public String getTheme(){
return this.theme;
}
private void setTheme(String theme){
public void setTheme(String theme){
this.theme = theme;
}
public void addUser(Utilisateur user){
this.utilisateurs.add(user);
}
}