Recherches fonctionnelles
This commit is contained in:
parent
843b3f3a87
commit
f6a1e9511a
@ -8,5 +8,6 @@ import fr.univ_amu.iut.model.Usage;
|
||||
import java.util.List;
|
||||
|
||||
public interface DAOUsage extends DAO<Usage>{
|
||||
List<Usage> search(Thematique thematique, Discipline discipline, Academie academie);
|
||||
List<Usage> findByCriterias(Thematique thematique, Discipline discipline, Academie academie);
|
||||
List<Usage> findByName(String substring);
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import fr.univ_amu.iut.model.Usage;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.util.List;
|
||||
|
||||
public class DAOUsageJPA extends DAOBaseClassJPA<Usage> implements DAOUsage {
|
||||
@ -31,11 +30,19 @@ public class DAOUsageJPA extends DAOBaseClassJPA<Usage> implements DAOUsage {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Usage> search(Thematique thematique, Discipline discipline, Academie academie) {
|
||||
TypedQuery<Usage> query = entityManager.createNamedQuery("Usage.search", Usage.class);
|
||||
public List<Usage> findByCriterias(Thematique thematique, Discipline discipline, Academie academie) {
|
||||
TypedQuery<Usage> query = entityManager.createNamedQuery("Usage.findByCriterias", Usage.class);
|
||||
query.setParameter("thematique", thematique);
|
||||
query.setParameter("discipline", discipline);
|
||||
query.setParameter("academie", academie);
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Usage> findByName(String substring) {
|
||||
TypedQuery<Usage> query = entityManager.createNamedQuery("Usage.findByName", Usage.class);
|
||||
query.setParameter("substring", "%"+substring+"%");
|
||||
return query.getResultList();
|
||||
}
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ 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" +
|
||||
@NamedQuery(name = "Usage.findByName", query = "SELECT p FROM Usage p WHERE p.nom LIKE :substring"),
|
||||
@NamedQuery(name = "Usage.findByCriterias", 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)"),
|
||||
|
Loading…
Reference in New Issue
Block a user