public List<Conges> filtre(Integer filtreUtilisateurId, Etat filtreEtat) { if (filtreUtilisateurId != null && filtreUtilisateurId == 0) { filtreUtilisateurId = null; } String query = "select u from Conges u "; if (filtreUtilisateurId != null || filtreEtat != null) { query = query + "where"; } if (filtreUtilisateurId != null) { query = query + " u.utilisateur.id = " + filtreUtilisateurId; } if (filtreUtilisateurId != null && filtreEtat != null) { query = query + " and "; } if (filtreEtat != null) { query = query + " u.etat = '" + filtreEtat.name() + "'"; } System.out.println(query); return em.createQuery(query, Conges.class).setMaxResults(20).getResultList(); }