Feat: Fin de la partie JPA ( a voir si on mets une table User)

This commit is contained in:
Amaël Kesteman
2026-01-05 13:08:16 +01:00
parent 383039a679
commit 995753d026
4 changed files with 19 additions and 8 deletions

View File

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

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

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

@@ -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)