Si vous n'utilisez pas de clauses AS dans les requêtes SQL
qui produisent des jointures ou des unions, ou qui contiennent des colonnes résultantes,
les résultats de la requête peuvent contenir des colonnes dont le nom n'est pas unique. pureQuery
ne peut pas mapper ces colonnes vers les propriétés des beans de votre choix pour stocker les
résultats de la requête. Vous pouvez mapper les colonnes manuellement avec
une méthode set() spécifique.
Cette méthode set() peut être utile dans au moins deux cas :
Pour gérer ces cas, vous pouvez implémenter la méthode suivante dans le bean renseigné par des données provenant du résultat de la requête renvoyé :
public void set (String colName, String tableName, int columnIndex, Object setVal)
{
. . .
}
- colName
- Nom de la colonne d'où la valeur est renvoyée. Cette
valeur peut être une chaîne nulle ou vide ("").
- tableName
- Nom du tableau qui contient la colonne. Cette
valeur peut être une chaîne nulle ou vide ("").
- columnIndex
- Entier indiquant la position de la colonne dans le résultat de la requête. L'index commence à 1.
Avertissement : Vous pouvez ne pas indiquer de valeur pour columnIndex.
Les modifications apportées à la requête SQL peuvent changer l'élément columnIndex renvoyé pour une colonne. De plus, le fait d'utiliser columnIndex peut
limiter la méthode set() à une requête spécifique, rendant ainsi la méthode inutile pour les autres requêtes. Dans certains cas, tableName et colName
suffisent pour identifier la propriété pour laquelle vous définissez la valeur.
- setVal
- La valeur de la colonne.