Merge remote-tracking branch 'origin/jpa' into endpoints

This commit is contained in:
Alexis Leboeuf
2026-01-05 13:08:42 +01:00
9 changed files with 56 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
package hackathon.FrisbYEE.jpa;
package hackathon.FrisbYEE.jpa.metier;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
@@ -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<String> dataActivite = new ArrayList<>();
@ManyToOne(cascade = CascadeType.PERSIST)
@ManyToOne
private Session session;
public Activite(String name) {

View File

@@ -1,4 +1,4 @@
package hackathon.FrisbYEE.jpa;
package hackathon.FrisbYEE.jpa.metier;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;

View File

@@ -1,4 +1,4 @@
package hackathon.FrisbYEE.jpa;
package hackathon.FrisbYEE.jpa.metier;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
@@ -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<String> groupe = new ArrayList<>();
@ManyToMany(mappedBy = "athletes")
private List<Session> sessions = new ArrayList<>(); // plusieurs sessions sont possibles
public Athlete(String name){
this.name = name;
}
public Athlete(String name, String categorie, String niveau, List<String> groupe){
this.name = name;
this.categorie = categorie;
this.niveau = niveau;
this.groupe = groupe;
}
@Override
public String toString() {
return "Athlete [id=" + id + " , name=" + name + "]";

View File

@@ -1,4 +1,4 @@
package hackathon.FrisbYEE.jpa;
package hackathon.FrisbYEE.jpa.metier;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
@@ -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<Session> 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 + "]";
}
}
}

View File

@@ -1,4 +1,4 @@
package hackathon.FrisbYEE.jpa;
package hackathon.FrisbYEE.jpa.metier;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
@@ -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<Athlete> athletes = new ArrayList<>(); // plusieurs athlètes par session
@OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST)

View File

@@ -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, Integer> {
Activite findByKeycloakId(String keycloakId);
}

View File

@@ -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<Athlete, Integer> {
}

View File

@@ -0,0 +1,4 @@
package hackathon.FrisbYEE.jpa.service;
public class CoachDAO {
}

View File

@@ -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 {
}