correction métier (liaison incorrecte par rapport au graph), graph incomplet, correction ambiguïté de certain nom de variable des classes métier

This commit is contained in:
Rochas
2025-10-23 11:48:24 +02:00
parent c3167e43a0
commit 7ec2fd3fe0
11 changed files with 29 additions and 28 deletions

View File

@@ -13,10 +13,10 @@ classDiagram
class Utilisateur {
-id : int
-name : String
-session : List<Session>
-sessions : List<Session>
-email : String
-password : String
-quizzs : String
-quizzs : List<Quizz>
}
class Session{
-id : int
@@ -26,9 +26,10 @@ classDiagram
-theme : String
}
class Quizz{
-session: Session
-sessions: List<Session>
-id : int
-utilisateur: Utilisateur
-createur : Utilisateur
-quizz : Quizz
}
class Reponse{
-id : int
@@ -39,11 +40,11 @@ classDiagram
-choix : ArrayList<String>
}
class ReponseCourte{
-value : String
}
class Question{
-id : int
-reponse: Reponse
-enonce : String
-reponse : Reponse
}
```

View File

@@ -34,7 +34,7 @@ public class SessionDAO extends AbstractJpaDao<Integer, Session> {
EntityTransaction t = em.getTransaction();
t.begin();
q.setSession(s);
q.getSessions().add(s);
s.getQuizzs().add(q);
em.merge(s);
t.commit();

View File

@@ -28,7 +28,7 @@ public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
Utilisateur u = em.find(Utilisateur.class, userId);
//FAUT AJOUTER OWNING SIDE ( Ici u --> s)
u.getSession().add(s);
u.getSessions().add(s);
//Jsp il faut birectionnelle ou pas?
s.getUtilisateurs().add(u);
em.merge(u);

View File

@@ -117,12 +117,12 @@ public class JpaTest {
cqSess.select(sessRoot).where(cb.equal(sessRoot.get("id"), sessionId));
Session s1 = manager.createQuery(cqSess).getSingleResult();
List<Session> ls= u1.getSession();
List<Session> ls= u1.getSessions();
ls.add(s1);
u1.setSession(ls);
u1.setSessions(ls);
Quizz quizz1 = new Quizz();
quizz1.setUtilisateur(u1);
quizz1.setSession(s1);
quizz1.setCreateur(u1);
quizz1.getSessions().add(s1);
manager.persist(quizz1);
manager.merge(u1);
@@ -143,8 +143,8 @@ public class JpaTest {
List<Quizz> quizzs = manager.createQuery(cq).getResultList();
for (Quizz q : quizzs) {
System.out.println("Quizz ID: " + q.getId() + ", User: " + q.getUtilisateur().getName() +
", Session ID: " + q.getSession().getId());
System.out.println("Quizz ID: " + q.getId() + ", User: " + q.getCreateur().getName() +
", nb session: " + q.getSessions().size());
}
}
}

View File

@@ -15,7 +15,7 @@ public class Question implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String question;
private String enonce;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name ="bonne_reponse", referencedColumnName = "id")

View File

@@ -18,12 +18,12 @@ public class Quizz implements Serializable {
@GeneratedValue
private int id;
@ManyToOne
private Session session;
@ManyToMany
private List<Session> sessions = new ArrayList<Session>();
@ManyToOne
@JoinColumn(name="id_utilisateur")
private Utilisateur utilisateur;
private Utilisateur createur;
@OneToMany(mappedBy = "quizz", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Question> questions=new ArrayList<Question>();

View File

@@ -21,10 +21,10 @@ public class Session implements Serializable {
@Column(unique=true)
private int codePIN;
@OneToMany(mappedBy="session")
@ManyToMany(mappedBy="sessions")
private List<Quizz> quizzs = new ArrayList<>();
@ManyToMany(mappedBy = "session")
@ManyToMany(mappedBy = "sessions")
private List<Utilisateur> utilisateurs = new ArrayList<>();
private String theme;
}

View File

@@ -26,8 +26,8 @@ public class Utilisateur implements Serializable {
joinColumns = @JoinColumn(name="utilisateur_id"),
inverseJoinColumns = @JoinColumn(name = "session_id")
)
private List<Session> session= new ArrayList<>();;
private List<Session> sessions= new ArrayList<>();;
@OneToMany(mappedBy = "utilisateur")
@OneToMany(mappedBy = "createur")
private List<Quizz> quizzs;
}

View File

@@ -42,7 +42,7 @@ public class QuestionInfo extends HttpServlet {
return ;
}
Question question = new Question();
question.setQuestion(ennonce);
question.setEnonce(ennonce);
List<String> listRep = Arrays.asList(reponse.split("\n"));
@@ -82,7 +82,7 @@ public class QuestionInfo extends HttpServlet {
resp.getWriter().println(
"<HTML>\n<BODY>\n" +
"<H1> Question \"" + question.getQuestion() + "\" creee </H1>" +
"<H1> Question \"" + question.getEnonce() + "\" creee </H1>" +
"</BODY></HTML>"
);
return ;

View File

@@ -46,7 +46,7 @@ public class QuizzInfo extends HttpServlet {
return ;
}
Quizz quizz = new Quizz();
quizz.setUtilisateur(u_cree_quizz);
quizz.setCreateur(u_cree_quizz);
//quizz.setSession(s_attached);
quizzDAO.create(quizz);

View File

@@ -72,13 +72,13 @@ public class Show extends HttpServlet {
result += "<div class=\"quizz\">";
result += "quizz n°" + quizz.getId() + "<br/>";
result += "<div class=\"tabulation\">";
result += "Admin" + quizz.getUtilisateur().getEmail() + " (id: " + quizz.getUtilisateur().getId() + ") <br/>";
result += "nb Question :" + quizz.getQuestions().size() +"<br/>";
result += "Createur : " + quizz.getCreateur().getEmail() + " (id: " + quizz.getCreateur().getId() + ") <br/>";
result += "nb Question : " + quizz.getQuestions().size() +"<br/>";
for (Question question : quizz.getQuestions()) {
result += "<div class=\"question\">";
result += "Q" + question.getId() + " Ennoncé : "+ question.getQuestion() + "<br/>";
result += "Q" + question.getId() + " Ennoncé : "+ question.getEnonce() + "<br/>";
result += "<b>Choix de réponse : </b><br/>";