From 459dd124992fa3c65d801ae7d0c9ff63a9dfb52f Mon Sep 17 00:00:00 2001 From: tuanvu Date: Mon, 5 Jan 2026 12:56:45 +0100 Subject: [PATCH 1/3] ajout un dossier --- .../main/java/hackathon/FrisbYEE/jpa/{ => metier}/Activite.java | 2 +- .../main/java/hackathon/FrisbYEE/jpa/{ => metier}/Admin.java | 2 +- .../main/java/hackathon/FrisbYEE/jpa/{ => metier}/Athlete.java | 2 +- .../main/java/hackathon/FrisbYEE/jpa/{ => metier}/Coach.java | 2 +- .../main/java/hackathon/FrisbYEE/jpa/{ => metier}/Session.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) rename back_end/src/main/java/hackathon/FrisbYEE/jpa/{ => metier}/Activite.java (97%) rename back_end/src/main/java/hackathon/FrisbYEE/jpa/{ => metier}/Admin.java (93%) rename back_end/src/main/java/hackathon/FrisbYEE/jpa/{ => metier}/Athlete.java (95%) rename back_end/src/main/java/hackathon/FrisbYEE/jpa/{ => metier}/Coach.java (95%) rename back_end/src/main/java/hackathon/FrisbYEE/jpa/{ => metier}/Session.java (97%) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java similarity index 97% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java index 8b7343c..62861a1 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java similarity index 93% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java index fdb77fe..ddacacc 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Admin.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Admin.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java similarity index 95% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java index fd5b2ac..c3bc63b 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java similarity index 95% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java index ed820b2..ab28248 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java similarity index 97% rename from back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java rename to back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java index d77c880..c4f0e4d 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java @@ -1,4 +1,4 @@ -package hackathon.FrisbYEE.jpa; +package hackathon.FrisbYEE.jpa.metier; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; From 383039a6795039e7115c44939d992a76c58aae58 Mon Sep 17 00:00:00 2001 From: tuanvu Date: Mon, 5 Jan 2026 13:06:41 +0100 Subject: [PATCH 2/3] DAO vs controller --- .../hackathon/FrisbYEE/jpa/service/ActiviteDAO.java | 8 ++++++++ .../hackathon/FrisbYEE/jpa/service/AthleteDAO.java | 9 +++++++++ .../java/hackathon/FrisbYEE/jpa/service/CoachDAO.java | 4 ++++ .../FrisbYEE/jpa/web/ActiviteController.java | 11 +++++++++++ 4 files changed, 32 insertions(+) create mode 100644 back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java create mode 100644 back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java create mode 100644 back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java create mode 100644 back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java new file mode 100644 index 0000000..b238e75 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/ActiviteDAO.java @@ -0,0 +1,8 @@ +package hackathon.FrisbYEE.jpa.service; + +import hackathon.FrisbYEE.jpa.metier.Activite; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ActiviteDAO extends JpaRepository { + Activite findByKeycloakId(String keycloakId); +} diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java new file mode 100644 index 0000000..9a352a3 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/AthleteDAO.java @@ -0,0 +1,9 @@ +package hackathon.FrisbYEE.jpa.service; + +import hackathon.FrisbYEE.jpa.metier.Activite; +import hackathon.FrisbYEE.jpa.metier.Athlete; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AthleteDAO extends JpaRepository { +} + diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java new file mode 100644 index 0000000..fe16ff9 --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/service/CoachDAO.java @@ -0,0 +1,4 @@ +package hackathon.FrisbYEE.jpa.service; + +public class CoachDAO { +} diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java new file mode 100644 index 0000000..9557bef --- /dev/null +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/web/ActiviteController.java @@ -0,0 +1,11 @@ +package hackathon.FrisbYEE.jpa.web; + + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/activite") + +public class ActiviteController { +} From 995753d026045c5bb01b950d6288820e9395f8f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ama=C3=ABl=20Kesteman?= Date: Mon, 5 Jan 2026 13:08:16 +0100 Subject: [PATCH 3/3] Feat: Fin de la partie JPA ( a voir si on mets une table User) --- .../hackathon/FrisbYEE/jpa/metier/Activite.java | 4 +--- .../hackathon/FrisbYEE/jpa/metier/Athlete.java | 14 ++++++++++++++ .../java/hackathon/FrisbYEE/jpa/metier/Coach.java | 5 ++--- .../hackathon/FrisbYEE/jpa/metier/Session.java | 4 ++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java index 62861a1..a0d84e0 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Activite.java @@ -6,13 +6,11 @@ import jakarta.persistence.ManyToOne; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; - import java.io.Serializable; import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; -import jakarta.persistence.CascadeType; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; @@ -31,7 +29,7 @@ public class Activite implements Serializable { @ElementCollection private List dataActivite = new ArrayList<>(); - @ManyToOne(cascade = CascadeType.PERSIST) + @ManyToOne private Session session; public Activite(String name) { diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java index c3bc63b..42235e4 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Athlete.java @@ -10,6 +10,7 @@ import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; +import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; @Entity @@ -22,13 +23,26 @@ public class Athlete { @GeneratedValue private Long id; private String name; + private String categorie; + private String niveau; + @ElementCollection + private List groupe = new ArrayList<>(); + @ManyToMany(mappedBy = "athletes") private List sessions = new ArrayList<>(); // plusieurs sessions sont possibles public Athlete(String name){ this.name = name; } + + public Athlete(String name, String categorie, String niveau, List groupe){ + this.name = name; + this.categorie = categorie; + this.niveau = niveau; + this.groupe = groupe; + } + @Override public String toString() { return "Athlete [id=" + id + " , name=" + name + "]"; diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java index ab28248..6294ab9 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Coach.java @@ -10,7 +10,6 @@ import java.util.ArrayList; import java.util.List; import jakarta.persistence.Access; import jakarta.persistence.AccessType; -import jakarta.persistence.CascadeType; import jakarta.persistence.Entity; @Entity @@ -24,7 +23,7 @@ public class Coach { private Long id; private String name; - @OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST) + @OneToMany(mappedBy = "coach") private List sessions = new ArrayList<>(); // Un coach peut avoir plusieurs sessions public Coach(String name){ @@ -34,4 +33,4 @@ public class Coach { public String toString() { return "Coach [id=" + id + " , name=" + name + "]"; } -} +} \ No newline at end of file diff --git a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java index c4f0e4d..f7d565e 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/jpa/metier/Session.java @@ -31,10 +31,10 @@ public class Session { private Long duree; private String groupe; - @ManyToOne(cascade = CascadeType.PERSIST) + @ManyToOne private Coach coach; // un coach par session - @ManyToMany(cascade = CascadeType.PERSIST) + @ManyToMany private List athletes = new ArrayList<>(); // plusieurs athlètes par session @OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST)