Voici un criteria qui récupère des enregistrements d'une table Pesee suivant certains critères :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Session session = HibernateUtil.getSession();
 
        Criteria criteria = session.createCriteria(BasePesee.class);
 
        // Constitution de la clause where
        // s'il existe un critère DatePesee
        if (datePesee != null && !datePesee.equals("")) criteria
                .add(Restrictions.ge(BasePesee.PROP_DATE_P, datePesee));
        // s'il existe un critère NomEngin
        if (nomEngin != null && !nomEngin.equals("")) criteria.add(Restrictions
                .eq(BasePesee.PROP_NOM_E, nomEngin));
        // s'il existe un critère nbBascules
        if (nbBascules != null && !nbBascules.equals(new Integer(0))) criteria
                .add(Restrictions.eq(BasePesee.PROP_NB_BASCULES_E, nbBascules));
        // s'il existe un critère nbPesees
        if (nbPesees != null && !nbPesees.equals(new Integer(0))) criteria
                .add(Restrictions.eq(BasePesee.PROP_NB_PESEES_E, nbPesees));
 
        // Constitution du tri
        if (tri != null)
        {
            if (tri.equals(TRI_ASCENDANT)) criteria.addOrder(Order
                    .asc(BasePesee.PROP_NUMERO_P));
            else criteria.addOrder(Order.desc(BasePesee.PROP_NUMERO_P));
        }
 
        // Exécution de la requête
        List list = criteria.list();
Mais cela me récupère une liste de pesée et je voudrais ne récupérer qu'une liste des id de ces mêmes pesées.

Comment restreindre la liste retournée à l'attribut correspondant au lieu d'obtenir l'enregistrement complet ?

Merci.