diff --git a/src/main/java/fr/univ_amu/iut/JPAMain.java b/src/main/java/fr/univ_amu/iut/JPAMain.java deleted file mode 100644 index ef13d73..0000000 --- a/src/main/java/fr/univ_amu/iut/JPAMain.java +++ /dev/null @@ -1,217 +0,0 @@ -package fr.univ_amu.iut; - -import fr.univ_amu.iut.model.Acteur; -import jakarta.persistence.EntityManager; -import jakarta.persistence.EntityManagerFactory; -import jakarta.persistence.Persistence; -import jakarta.persistence.TypedQuery; -import javafx.application.Application; -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import javafx.event.ActionEvent; -import javafx.geometry.Insets; -import javafx.geometry.Pos; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.cell.PropertyValueFactory; -import javafx.scene.control.cell.TextFieldTableCell; -import javafx.scene.layout.HBox; -import javafx.scene.layout.Priority; -import javafx.scene.layout.VBox; -import javafx.stage.Stage; - -import java.util.List; - -public class JPAMain extends Application { - private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory("gestionUsagesPU"); - private static final EntityManager em = emf.createEntityManager(); - private TableView table; - private TableColumn nom; - private TableColumn id; - private TableColumn prenom; - private TableColumn ville; - private TableColumn typeActeur; - private ObservableList data; - private HBox boutons; - private Button ajouter; - private Button supprimer; - private VBox racine; - @Override - public void start(Stage stage) { - initialiserTable(); - initialiserBoutons(); - initialiserRacine(); - - Scene scene = new Scene(racine, 600, 400); - stage.setScene(scene); - stage.setTitle("Liste d'acteurs"); - stage.sizeToScene(); - stage.show(); - } - - private void initialiserRacine() { - racine = new VBox(); - racine.setPadding(new Insets(10)); - racine.getChildren().addAll(table, boutons); - } - - private void initialiserBoutons() { - boutons = new HBox(10); - boutons.setPadding(new Insets(10)); - boutons.setAlignment(Pos.CENTER); - initialiserBoutonAjouter(); - initialiserBoutonSupprimer(); - boutons.getChildren().addAll(ajouter, supprimer); - } - - private void initialiserBoutonSupprimer() { - supprimer = new Button("Supprimer"); - supprimer.setOnAction(this::supprimerActeur); - } - - private void initialiserBoutonAjouter() { - ajouter = new Button("Ajouter"); - ajouter.setOnAction(this::ajouterActeur); - } - - private void initialiserTable() { - table = new TableView<>(); - table.setEditable(true); - table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - table.getSelectionModel().select(0); - - initialiserColonnes(); - insererColonnes(); - remplirDonnees(); - - VBox.setVgrow(table, Priority.ALWAYS); - } - - private static TableColumn initialiserColonneId() { - TableColumn code = new TableColumn<>("Identifiant"); - code.setCellValueFactory(new PropertyValueFactory<>("id")); - return code; - } - - private static TableColumn initialiserColonneNom() { - TableColumn nom = new TableColumn<>("Nom"); - nom.setCellValueFactory(new PropertyValueFactory<>("nom")); - nom.setCellFactory(TextFieldTableCell.forTableColumn()); - nom.setOnEditCommit(event -> { - int index = event.getTablePosition().getRow(); - Acteur acteur = event.getTableView().getItems().get(index); - em.getTransaction().begin(); - acteur.setNom(event.getNewValue()); - em.getTransaction().commit(); - }); - return nom; - } - - private static TableColumn initialiserColonnePrenom() { - TableColumn prenom = new TableColumn<>("Prénom"); - prenom.setCellValueFactory(new PropertyValueFactory<>("prenom")); - prenom.setCellFactory(TextFieldTableCell.forTableColumn()); - - prenom.setOnEditCommit(event -> { - int index = event.getTablePosition().getRow(); - Acteur acteur = event.getTableView().getItems().get(index); - em.getTransaction().begin(); - acteur.setPrenom(event.getNewValue()); - em.getTransaction().commit(); - }); - - return prenom; - } - - private static TableColumn initialiserColonneVille() { - TableColumn ville = new TableColumn<>("Ville"); - ville.setCellValueFactory(new PropertyValueFactory<>("ville")); - ville.setCellFactory(TextFieldTableCell.forTableColumn()); - ville.setOnEditCommit(event -> { - int index = event.getTablePosition().getRow(); - Acteur acteur = event.getTableView().getItems().get(index); - em.getTransaction().begin(); - acteur.setVille(event.getNewValue()); - em.getTransaction().commit(); - }); - return ville; - } - - private TableColumn initialiserColonneTypeActeur() { - TableColumn typeActeur = new TableColumn<>("Type d'acteur"); - typeActeur.setCellValueFactory(new PropertyValueFactory<>("typeActeur")); - typeActeur.setCellFactory(TextFieldTableCell.forTableColumn()); - typeActeur.setOnEditCommit(event -> { - int index = event.getTablePosition().getRow(); - Acteur acteur = event.getTableView().getItems().get(index); - em.getTransaction().begin(); - acteur.setTypeActeur(event.getNewValue()); - em.getTransaction().commit(); - }); - return typeActeur; - } - - private void initialiserColonnes() { - id = initialiserColonneId(); - nom = initialiserColonneNom(); - prenom = initialiserColonnePrenom(); - ville = initialiserColonneVille(); - typeActeur = initialiserColonneTypeActeur(); - } - - private void insererColonnes() { - table.getColumns().addAll(List.of(id, nom, prenom, ville, typeActeur)); - } - - private void remplirDonnees() { - data = listerActeurs(); - table.setItems(data); - } - - private ObservableList listerActeurs() { - TypedQuery query = em.createNamedQuery("Acteur.findAll", Acteur.class); - return FXCollections.observableList(query.getResultList()); - } - - private void ajouterActeur(ActionEvent event) { - Acteur acteur = new Acteur(); - em.getTransaction().begin(); - em.persist(acteur); - em.getTransaction().commit(); - data.add(acteur); - - int rowIndex = data.size() - 1; - table.requestFocus(); - table.scrollTo(rowIndex); - table.getSelectionModel().select(rowIndex); - table.getFocusModel().focus(rowIndex); - } - - private void supprimerActeur(ActionEvent event) { - if (table.getItems().size() == 0) return; - - em.getTransaction().begin(); - em.remove(table.getSelectionModel().getSelectedItem()); - em.getTransaction().commit(); - - int selectedRowIndex = table.getSelectionModel().getSelectedIndex(); - - data.remove(selectedRowIndex); - - if (selectedRowIndex != 0) { - selectedRowIndex = selectedRowIndex - 1; - } - - table.requestFocus(); - table.scrollTo(selectedRowIndex); - table.getSelectionModel().select(selectedRowIndex); - table.getFocusModel().focus(selectedRowIndex); - } - - public static void main(String[] args) { - launch(args); - } - -} diff --git a/src/main/java/fr/univ_amu/iut/dao/DAOUsage.java b/src/main/java/fr/univ_amu/iut/dao/DAOUsage.java index 24a649d..f4311a5 100644 --- a/src/main/java/fr/univ_amu/iut/dao/DAOUsage.java +++ b/src/main/java/fr/univ_amu/iut/dao/DAOUsage.java @@ -1,6 +1,6 @@ package fr.univ_amu.iut.dao; -import fr.univ_amu.iut.model.Usage; +import fr.univ_amu.iut.model.Usages; -public interface DAOUsage extends DAO{ +public interface DAOUsage extends DAO{ } diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOAcademieJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOAcademieJPA.java index 7731f51..9f3cdf3 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOAcademieJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOAcademieJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAOAcademieJPA extends DAOBaseClassJPA implements DAOAcademie { public DAOAcademieJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOActeurJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOActeurJPA.java index 268fc08..be0f6a1 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOActeurJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOActeurJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAOActeurJPA extends DAOBaseClassJPA implements DAOActeur { public DAOActeurJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAODisciplineJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAODisciplineJPA.java index 515bc62..5991a76 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAODisciplineJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAODisciplineJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAODisciplineJPA extends DAOBaseClassJPA implements DAODiscipline { public DAODisciplineJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAORegionAcademiqueJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAORegionAcademiqueJPA.java index 56ae147..431697e 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAORegionAcademiqueJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAORegionAcademiqueJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAORegionAcademiqueJPA extends DAOBaseClassJPA implements DAORegionAcademique { public DAORegionAcademiqueJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAORessourceJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAORessourceJPA.java index 2de03dc..df96cf1 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAORessourceJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAORessourceJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAORessourceJPA extends DAOBaseClassJPA implements DAORessource { public DAORessourceJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOThematiqueJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOThematiqueJPA.java index b810ebc..fd29a25 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOThematiqueJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOThematiqueJPA.java @@ -7,7 +7,6 @@ import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else public class DAOThematiqueJPA extends DAOBaseClassJPA implements DAOThematique { public DAOThematiqueJPA(EntityManager entityManager) { diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOTypeActeurJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOTypeActeurJPA.java new file mode 100644 index 0000000..291ac4a --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOTypeActeurJPA.java @@ -0,0 +1,28 @@ +package fr.univ_amu.iut.dao.jpa; + +import fr.univ_amu.iut.dao.DAO; +import fr.univ_amu.iut.model.TypeActeur; +import jakarta.persistence.EntityManager; +import jakarta.persistence.TypedQuery; + +import java.util.List; + +public class DAOTypeActeurJPA extends DAOBaseClassJPA implements DAO { + + public DAOTypeActeurJPA(EntityManager entityManager) { + super(entityManager); + } + + @Override + public List findAll() { + TypedQuery query = entityManager.createNamedQuery("TypeActeur.findAll", TypeActeur.class); + return query.getResultList(); + } + + @Override + public TypeActeur getById(int id) { + TypedQuery query = entityManager.createNamedQuery("TypeActeur.findById", TypeActeur.class); + query.setParameter("numEt", id); + return query.getSingleResult(); + } +} diff --git a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOUsageJPA.java b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOUsageJPA.java index f0827d4..4e6f0c0 100644 --- a/src/main/java/fr/univ_amu/iut/dao/jpa/DAOUsageJPA.java +++ b/src/main/java/fr/univ_amu/iut/dao/jpa/DAOUsageJPA.java @@ -1,28 +1,27 @@ package fr.univ_amu.iut.dao.jpa; import fr.univ_amu.iut.dao.DAOUsage; -import fr.univ_amu.iut.model.Usage; +import fr.univ_amu.iut.model.Usages; import jakarta.persistence.EntityManager; import jakarta.persistence.TypedQuery; import java.util.List; -// NOT JPA. No idea how to achieve it else -public class DAOUsageJPA extends DAOBaseClassJPA implements DAOUsage { +public class DAOUsageJPA extends DAOBaseClassJPA implements DAOUsage { public DAOUsageJPA(EntityManager entityManager) { super(entityManager); } @Override - public List findAll() { - TypedQuery query = entityManager.createNamedQuery("Usage.findAll", Usage.class); + public List findAll() { + TypedQuery query = entityManager.createNamedQuery("Usage.findAll", Usages.class); return query.getResultList(); } @Override - public Usage getById(int id) { - TypedQuery query = entityManager.createNamedQuery("Usage.findById", Usage.class); + public Usages getById(int id) { + TypedQuery query = entityManager.createNamedQuery("Usage.findById", Usages.class); query.setParameter("numEt", id); return query.getSingleResult(); } diff --git a/src/main/java/fr/univ_amu/iut/model/Academie.java b/src/main/java/fr/univ_amu/iut/model/Academie.java index c971428..9e55f83 100644 --- a/src/main/java/fr/univ_amu/iut/model/Academie.java +++ b/src/main/java/fr/univ_amu/iut/model/Academie.java @@ -4,6 +4,8 @@ import jakarta.persistence.*; import java.util.Collection; import java.util.HashMap; +import java.util.Map; + @NamedQueries({ @NamedQuery(name = "Academie.findAll", query = "SELECT p FROM Academie p"), @NamedQuery(name = "Academie.findByCode", query = "SELECT p FROM Academie p WHERE p.code = :acaCode"), @@ -92,6 +94,13 @@ public class Academie { return INSTANCES.get(code); } + public static Academie getByNom(String nom) { + for(Academie academie : INSTANCES.values()){ + if(academie.nom.equals(nom))return academie; + } + return null; + } + public static Collection toutes() { return INSTANCES.values(); } @@ -107,4 +116,13 @@ public class Academie { public RegionAcademique getRegionAcademique() { return regionAcademique; } + + @Override + public String toString() { + return "Academie{" + + "code='" + code + '\'' + + ", nom='" + nom + '\'' + + ", regionAcademique=" + regionAcademique + + '}'; + } } \ No newline at end of file diff --git a/src/main/java/fr/univ_amu/iut/model/Acteur.java b/src/main/java/fr/univ_amu/iut/model/Acteur.java index dff5df5..24d79ba 100644 --- a/src/main/java/fr/univ_amu/iut/model/Acteur.java +++ b/src/main/java/fr/univ_amu/iut/model/Acteur.java @@ -12,95 +12,44 @@ public class Acteur { @GeneratedValue int id; - String nom; - String prenom; + String type; - @Embedded - Coordonees coordonees; + String identite; - String typeActeur; + public Acteur(String type, String identite) { + this.type = type; + this.identite = identite; + } public Acteur() { - coordonees = new Coordonees(); } public int getId() { return id; } - public String getNom() { - return nom; + public String getIdentite() { + return identite; } - public String getPrenom() { - return prenom; + public String getType() { + return type; } - public Coordonees getCoordonees() { - return coordonees; + public void setIdentite(String identite) { + this.identite = identite; } - public String getTypeActeur() { - return typeActeur; + public void setType(String typeActeur) { + this.type = typeActeur; } - public void setNom(String nom) { - this.nom = nom; - } - - public void setPrenom(String prenom) { - this.prenom = prenom; - } - - public void setTypeActeur(String typeActeur) { - this.typeActeur = typeActeur; - } - - public int getNumero() { - return coordonees.getNumero(); - } - - public void setNumero(int numero) { - coordonees.setNumero(numero); - } - - public String getRue() { - return coordonees.getRue(); - } - - public void setRue(String rue) { - coordonees.setRue(rue); - } - - public String getCodePostal() { - return coordonees.getCodePostal(); - } - - public void setCodePostal(String codePostal) { - coordonees.setCodePostal(codePostal); - } - - public String getVille() { - return coordonees.getVille(); - } - - public void setVille(String ville) { - coordonees.setVille(ville); - } - - public String getMail() { - return coordonees.getMail(); - } - - public void setMail(String mail) { - coordonees.setMail(mail); - } - - public String getTelephone() { - return coordonees.getTelephone(); - } - - public void setTelephone(String telephone) { - coordonees.setTelephone(telephone); + @Override + public String toString() { + return "Acteur{" + + "id=" + id + + ", type='" + type + '\'' + + ", identite='" + identite + '\'' + + '}'; } } diff --git a/src/main/java/fr/univ_amu/iut/model/Coordonees.java b/src/main/java/fr/univ_amu/iut/model/Coordonees.java deleted file mode 100644 index 5ac07e3..0000000 --- a/src/main/java/fr/univ_amu/iut/model/Coordonees.java +++ /dev/null @@ -1,64 +0,0 @@ -package fr.univ_amu.iut.model; - -import jakarta.persistence.Embeddable; - -@Embeddable -public class Coordonees { - private int numero; - private String rue; - private String codePostal; - private String ville; - private String mail; - private String telephone; - - public Coordonees() { - } - - public int getNumero() { - return numero; - } - - public void setNumero(int numero) { - this.numero = numero; - } - - public String getRue() { - return rue; - } - - public void setRue(String rue) { - this.rue = rue; - } - - public String getCodePostal() { - return codePostal; - } - - public void setCodePostal(String codePostal) { - this.codePostal = codePostal; - } - - public String getVille() { - return ville; - } - - public void setVille(String ville) { - this.ville = ville; - } - - public String getMail() { - return mail; - } - - public void setMail(String mail) { - this.mail = mail; - } - - public String getTelephone() { - return telephone; - } - - public void setTelephone(String telephone) { - this.telephone = telephone; - } -} \ No newline at end of file diff --git a/src/main/java/fr/univ_amu/iut/model/Discipline.java b/src/main/java/fr/univ_amu/iut/model/Discipline.java index ed13da4..8436477 100644 --- a/src/main/java/fr/univ_amu/iut/model/Discipline.java +++ b/src/main/java/fr/univ_amu/iut/model/Discipline.java @@ -39,7 +39,7 @@ public class Discipline { INSTANCES.add(this); } - Discipline(String nom) { + public Discipline(String nom) { this(); this.nom = nom; } @@ -62,4 +62,13 @@ public class Discipline { public String getNom() { return nom; } + + + @Override + public String toString() { + return "Discipline{" + + "id=" + id + + ", nom='" + nom + '\'' + + '}'; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Niveau.java b/src/main/java/fr/univ_amu/iut/model/Niveau.java index 2da91e4..1a0e313 100644 --- a/src/main/java/fr/univ_amu/iut/model/Niveau.java +++ b/src/main/java/fr/univ_amu/iut/model/Niveau.java @@ -1,7 +1,7 @@ package fr.univ_amu.iut.model; public enum Niveau { - Tous("Tous"), + Tous("Tous niveaux"), PremierDegre("Premier degré"), SecondDegre("Second degré"); final String nom; @@ -11,4 +11,11 @@ public enum Niveau { public String getNom() { return nom; } + + public static Niveau getByNom(String nom) { + for(Niveau niv : values()){ + if(niv.nom.equals(nom))return niv; + } + return null; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Ressource.java b/src/main/java/fr/univ_amu/iut/model/Ressource.java index daacb85..030cf1f 100644 --- a/src/main/java/fr/univ_amu/iut/model/Ressource.java +++ b/src/main/java/fr/univ_amu/iut/model/Ressource.java @@ -16,11 +16,10 @@ public class Ressource { String nomRessource; - @ManyToOne - TypeRessource typeRessource; + String typeRessource; URL lienRessource; - public Ressource(TypeRessource typeRessource, URL lienRessource) { + public Ressource(URL lienRessource, String nomRessource, String typeRessource) { this.typeRessource = typeRessource; this.lienRessource = lienRessource; } @@ -29,7 +28,7 @@ public class Ressource { } - public TypeRessource getTypeRessource() { + public String getTypeRessource() { return typeRessource; } @@ -40,4 +39,15 @@ public class Ressource { public String getNomRessource() { return nomRessource; } + + + @Override + public String toString() { + return "Ressource{" + + "id=" + id + + ", nomRessource='" + nomRessource + '\'' + + ", typeRessource='" + typeRessource + '\'' + + ", lienRessource=" + lienRessource + + '}'; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/Thematique.java b/src/main/java/fr/univ_amu/iut/model/Thematique.java index bee7747..3eeaf9a 100644 --- a/src/main/java/fr/univ_amu/iut/model/Thematique.java +++ b/src/main/java/fr/univ_amu/iut/model/Thematique.java @@ -67,4 +67,13 @@ public class Thematique { public Thematique() { } + + + @Override + public String toString() { + return "Thematique{" + + "id=" + id + + ", nom='" + nom + '\'' + + '}'; + } } diff --git a/src/main/java/fr/univ_amu/iut/model/TypeActeur.java b/src/main/java/fr/univ_amu/iut/model/TypeActeur.java new file mode 100644 index 0000000..734454a --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/model/TypeActeur.java @@ -0,0 +1,31 @@ +package fr.univ_amu.iut.model; + +import jakarta.persistence.*; + +@NamedQueries({ + @NamedQuery(name = "TypeActeur.findAll", query = "SELECT p FROM TypeActeur p"), + @NamedQuery(name = "TypeActeur.findById", query = "SELECT p FROM TypeActeur p WHERE p.id = :id"), +}) +@Entity +public class TypeActeur { + @Id + @GeneratedValue + int id; + String nom; + + public TypeActeur(String nom) { + this.nom = nom; + } + + public TypeActeur() { + + } + + public String getNom() { + return nom; + } + + public void setNom(String nom) { + this.nom = nom; + } +} diff --git a/src/main/java/fr/univ_amu/iut/model/Usage.java b/src/main/java/fr/univ_amu/iut/model/Usages.java similarity index 66% rename from src/main/java/fr/univ_amu/iut/model/Usage.java rename to src/main/java/fr/univ_amu/iut/model/Usages.java index 5cc93e2..f14ba34 100644 --- a/src/main/java/fr/univ_amu/iut/model/Usage.java +++ b/src/main/java/fr/univ_amu/iut/model/Usages.java @@ -6,16 +6,17 @@ import java.util.ArrayList; import java.util.List; @NamedQueries({ - @NamedQuery(name = "Usage.findAll", query = "SELECT p FROM Usage p"), - @NamedQuery(name = "Usage.findById", query = "SELECT p FROM Usage p WHERE p.id = :id"), + @NamedQuery(name = "Usage.findAll", query = "SELECT p FROM Usages p"), + @NamedQuery(name = "Usage.findById", query = "SELECT p FROM Usages p WHERE p.id = :id"), }) @Entity -public class Usage { +public class Usages { @Id @GeneratedValue int id; String nom; + String description; @ManyToOne(cascade = CascadeType.ALL) @@ -27,18 +28,18 @@ public class Usage { @Enumerated(EnumType.STRING) Niveau niveau; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) Academie academie; @OneToMany(cascade = CascadeType.ALL) List ressources = new ArrayList<>(); - @OneToMany(cascade = CascadeType.ALL) - List acteurs = new ArrayList<>(); + @OneToOne(cascade = CascadeType.ALL) + Acteur acteur; String commentaire; - public Usage() { + public Usages() { } public String getNom() { @@ -85,6 +86,10 @@ public class Usage { return academie; } + public void setAcademie(Academie academie) { + this.academie = academie; + } + public List getRessources() { return ressources; } @@ -93,12 +98,12 @@ public class Usage { this.ressources.add(ressource); } - public List getActeurs() { - return acteurs; + public Acteur getActeur() { + return acteur; } - public void addActeur(Acteur acteur) { - this.acteurs.add(acteur); + public void setActeur(Acteur acteur) { + this.acteur = acteur; } public String getCommentaire() { @@ -108,4 +113,21 @@ public class Usage { public void setCommentaire(String commentaire) { this.commentaire = commentaire; } + + + @Override + public String toString() { + return "Usage{" + + "id=" + id + + ", nom='" + nom + '\'' + + ", description='" + description + '\'' + + ", discipline=" + discipline + + ", thematique=" + thematique + + ", niveau=" + niveau + + ", academie=" + academie + + ", ressources=" + ressources + + ", acteur=" + acteur + + ", commentaire='" + commentaire + '\'' + + '}'; + } }