Amelioration des entités (ajout de NamedQueries, Serializable, hashCode, equals)

This commit is contained in:
Thomas Rubini 2022-06-06 16:11:55 +02:00
parent f067497d70
commit c5c530d52c
No known key found for this signature in database
GPG Key ID: C7D287C8C1CAC373
8 changed files with 161 additions and 8 deletions

View File

@ -2,6 +2,7 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@ -11,7 +12,7 @@ import java.util.Map;
@NamedQuery(name = "Academie.findByCode", query = "SELECT p FROM Academie p WHERE p.code = :acaCode"),
})
@Entity
public class Academie {
public class Academie implements Serializable {
private final static HashMap<String, Academie> INSTANCES = new HashMap<>();
@Transient
public static Academie Mayotte = new Academie("MY", "Académie de Mayotte", RegionAcademique.Mayotte);
@ -125,4 +126,19 @@ public class Academie {
", regionAcademique=" + regionAcademique +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Academie academie = (Academie) o;
return code.equals(academie.code);
}
@Override
public int hashCode() {
return code.hashCode();
}
}

View File

@ -2,12 +2,14 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
@NamedQueries({
@NamedQuery(name = "Acteur.findAll", query = "SELECT p FROM Acteur p"),
@NamedQuery(name = "Acteur.findById", query = "SELECT p FROM Acteur p WHERE p.id = :id"),
})
@Entity
public class Acteur {
public class Acteur implements Serializable {
@Id
@GeneratedValue
int id;
@ -52,4 +54,24 @@ public class Acteur {
", identite='" + identite + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Acteur acteur = (Acteur) o;
if (id != acteur.id) return false;
if (!identite.equals(acteur.identite)) return false;
return type.equals(acteur.type);
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + identite.hashCode();
result = 31 * result + type.hashCode();
return result;
}
}

View File

@ -2,11 +2,16 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@NamedQueries({
@NamedQuery(name = "Discipline.findAll", query = "SELECT p FROM Discipline p"),
@NamedQuery(name = "Discipline.findById", query = "SELECT p FROM Discipline p WHERE p.id = :id"),
})
@Entity
public class Discipline {
public class Discipline implements Serializable {
private static final List<Discipline> INSTANCES = new ArrayList<>();
@ -44,7 +49,7 @@ public class Discipline {
}
public static List<Discipline> toutes() {
return INSTANCES;
return new ArrayList<>(INSTANCES);
}
public static Discipline getById(int id){
@ -70,4 +75,22 @@ public class Discipline {
", nom='" + nom + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Discipline that = (Discipline) o;
if (id != that.id) return false;
return nom.equals(that.nom);
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + nom.hashCode();
return result;
}
}

View File

@ -18,4 +18,12 @@ public enum Niveau {
}
return null;
}
@Override
public String toString() {
return "Niveau{" +
"nom='" + nom + '\'' +
'}';
}
}

View File

@ -2,11 +2,16 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@NamedQueries({
@NamedQuery(name = "RegionAcademique.findAll", query = "SELECT p FROM RegionAcademique p"),
@NamedQuery(name = "RegionAcademique.findById", query = "SELECT p FROM RegionAcademique p WHERE p.id = :id"),
})
@Entity
public class RegionAcademique {
public class RegionAcademique implements Serializable {
private static List<RegionAcademique> INSTANCES = new ArrayList<>();
@ -80,4 +85,23 @@ public class RegionAcademique {
public String getNom() {
return nom;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RegionAcademique that = (RegionAcademique) o;
if (id != that.id) return false;
return nom.equals(that.nom);
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + nom.hashCode();
return result;
}
}

View File

@ -2,6 +2,7 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.net.URL;
@ -10,7 +11,7 @@ import java.net.URL;
@NamedQuery(name = "Ressource.findById", query = "SELECT p FROM Ressource p WHERE p.id = :id"),
})
@Entity
public class Ressource {
public class Ressource implements Serializable {
@Id
@GeneratedValue
int id;
@ -65,4 +66,19 @@ public class Ressource {
", lienRessource=" + lienRessource +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Ressource ressource = (Ressource) o;
return id == ressource.id;
}
@Override
public int hashCode() {
return id;
}
}

View File

@ -2,13 +2,18 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@NamedQueries({
@NamedQuery(name = "Thematique.findAll", query = "SELECT p FROM Thematique p"),
@NamedQuery(name = "Thematique.findById", query = "SELECT p FROM Thematique p WHERE p.id = :id"),
})
@Entity
public class Thematique {
public class Thematique implements Serializable {
private final static List<Thematique> INSTANCES = new ArrayList<>();
@ -88,4 +93,22 @@ public class Thematique {
", nom='" + nom + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Thematique that = (Thematique) o;
if (id != that.id) return false;
return nom.equals(that.nom);
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + nom.hashCode();
return result;
}
}

View File

@ -2,17 +2,23 @@ package fr.univ_amu.iut.model;
import jakarta.persistence.*;
import java.io.Serializable;
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.findByName", query = "SELECT p FROM Usage p WHERE p.nom LIKE '%:id%'"),
@NamedQuery(name = "Usage.search", query = "SELECT p FROM Usage p WHERE" +
"(:thematique is null or :thematique=p.thematique)" +
"AND (:discipline is null or :discipline=p.discipline)"+
"AND (:academie is null or :academie=p.academie)"),
})
@Entity
@Table(name="\"USAGE\"")
public class Usage {
public class Usage implements Serializable {
@Id
@GeneratedValue
int id;
@ -132,4 +138,19 @@ public class Usage {
", commentaire='" + commentaire + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Usage usage = (Usage) o;
return id == usage.id;
}
@Override
public int hashCode() {
return id;
}
}