Bonjour,

dans mon application java Spring j'utilise la fonction queryforlist de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
protected List selectObjetsParentsInseres(final AbstractEntite<Long>[] abstractEntites) {
    //     on récupère seulement les objets qu'on vient d'insérer
 
        final List objetDepotIds = jdbcTemplate.queryForList("select SY_TRACE_OBJ from "
                + "(select SY_TRACE_OBJ from TRACE_OBJET where SY_TRACE_DPOT=? order by SY_TRACE_OBJ desc)"
                + " where ROWNUM <= ? order by SY_TRACE_OBJ asc", new Object[] {
                ((AbstractBETraceObjet) abstractEntites[0]).getTraceDepot().getIdentifiant(), abstractEntites.length });
        return objetDepotIds;
    }
Le problème que je rencontre avec cette fonction selectObjetsParentsInseres est qu'il me retourne toujours 10 éléments au niveau de la fonction queryforList quand abstractEntites.length a une valeur supérieure à 10. Cependant, quand je remplace le contenu de la fonction par ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    protected List selectObjetsParentsInseres(final AbstractEntite<Long>[] abstractEntites) {
        final List objetDepotIds = jdbcTemplate.queryForList(
                "select SY_TRACE_OBJ from TRACE_OBJET where SY_TRACE_DPOT=? order by SY_TRACE_OBJ asc",
                new Object[] { ((AbstractBETraceObjet) abstractEntites[0]).getTraceDepot().getIdentifiant() });
        return objetDepotIds;
    }
queryForList fonctionne correctement, sauf que le ROWNUM est indispensable au niveau fonctionnel.

J'ai beau faire des recherches sur Google mais je ne trouve rien pour l'instant