Feat: Ajout des premières classes JPA (Session et Activite complètes, pas les autres)
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"java.configuration.updateBuildConfiguration": "interactive"
|
||||
}
|
||||
@@ -28,7 +28,7 @@
|
||||
<url/>
|
||||
</scm>
|
||||
<properties>
|
||||
<java.version>25</java.version>
|
||||
<java.version>17</java.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@@ -97,7 +97,13 @@
|
||||
<artifactId>spring-boot-starter-thymeleaf-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.32</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
53
back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java
Normal file
53
back_end/src/main/java/hackathon/FrisbYEE/jpa/Activite.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package hackathon.FrisbYEE.jpa;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
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;
|
||||
|
||||
@Entity
|
||||
@Getter @Setter @NoArgsConstructor
|
||||
@Access(AccessType.FIELD)
|
||||
|
||||
public class Activite implements Serializable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private String name;
|
||||
private String theme;
|
||||
private Long duree;
|
||||
@ElementCollection
|
||||
private List<String> dataActivite = new ArrayList<>();
|
||||
|
||||
@ManyToOne(cascade = CascadeType.PERSIST)
|
||||
private Session session;
|
||||
|
||||
public Activite(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Activite(String name, String theme, List<String> dataActivite, Long duree) {
|
||||
this.name = name;
|
||||
this.theme = theme;
|
||||
this.duree = duree;
|
||||
this.dataActivite = dataActivite;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Activite [id=" + id + " , name=" + name + "]";
|
||||
}
|
||||
|
||||
}
|
||||
28
back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java
Normal file
28
back_end/src/main/java/hackathon/FrisbYEE/jpa/Athlete.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package hackathon.FrisbYEE.jpa;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToMany;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
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;
|
||||
|
||||
@Entity
|
||||
@Getter @Setter @NoArgsConstructor
|
||||
@Access(AccessType.FIELD)
|
||||
public class Athlete {
|
||||
|
||||
|
||||
}
|
||||
28
back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java
Normal file
28
back_end/src/main/java/hackathon/FrisbYEE/jpa/Coach.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package hackathon.FrisbYEE.jpa;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToMany;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
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;
|
||||
|
||||
@Entity
|
||||
@Getter @Setter @NoArgsConstructor
|
||||
@Access(AccessType.FIELD)
|
||||
public class Coach {
|
||||
|
||||
|
||||
}
|
||||
59
back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java
Normal file
59
back_end/src/main/java/hackathon/FrisbYEE/jpa/Session.java
Normal file
@@ -0,0 +1,59 @@
|
||||
package hackathon.FrisbYEE.jpa;
|
||||
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToMany;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import java.time.LocalDateTime;
|
||||
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
|
||||
@Getter @Setter @NoArgsConstructor
|
||||
@Access(AccessType.FIELD)
|
||||
|
||||
public class Session {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private Long id;
|
||||
private String name;
|
||||
private Boolean isRecurrent;
|
||||
private LocalDateTime creneau;
|
||||
private Long duree;
|
||||
private String groupe;
|
||||
|
||||
@ManyToOne(cascade = CascadeType.PERSIST)
|
||||
private Coach coach; // un coach par session
|
||||
|
||||
@ManyToMany(cascade = CascadeType.PERSIST)
|
||||
private List<Athlete> athletes = new ArrayList<>(); // plusieurs athlètes par session
|
||||
|
||||
@OneToMany(mappedBy = "session", cascade = CascadeType.PERSIST)
|
||||
private List<Activite> activites = new ArrayList<>(); // plusieurs activités par session
|
||||
|
||||
public Session(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Session(String name, Boolean isRecurrent, LocalDateTime creneau, Long duree, String groupe) {
|
||||
this.name = name;
|
||||
this.isRecurrent = isRecurrent;
|
||||
this.creneau = creneau;
|
||||
this.duree = duree;
|
||||
this.groupe = groupe;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Session [id=" + id + " , name=" + name + "]";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user