Je suis nouveau à iBatis et je suis aux prises avec les éléments et.problème d'ibatis en utilisant <isNull> tout en itérant sur une liste
Je souhaite effectuer une itération sur une liste d'instances de Book (par exemple) transmises en tant que HashMap: MyParameters. La liste s'appellera listOfBooks.
La clause de l'instruction générale de SQL ressemblera donc à ceci:
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
...
</iterate>
Je dois aussi produire différents SQL dans les éléments Iterate selon si une propriété de chaque instance du livre dans la liste « listOfBooks » est nul ou non.
Alors, je besoin d'une chose déclaration comme ceci:
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
<isNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #1 here -->
</isNull>
<isNotNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #2 here -->
</isNotNull>
Quand je fais cela je reçois un message d'erreur indiquant qu'il n'y a pas de propriété « LISIBLE » nommé « title » dans mon livre classe. Cependant, chaque instance de livre contient une propriété title, donc je suis confus! Je peux seulement m'assurer que j'ai managé la syntaxe en essayant de localiser le titre de l'instance particulière de Book dans listOfBooks. J'ai du mal à trouver la bonne technique pour essayer d'y parvenir. Si quelqu'un peut conseiller une voie à suivre, je serais reconnaissant.
Merci
Merci pour les références: Je vais certainement les vérifier. J'avais essayé la syntaxe entre parenthèses car j'avais le sentiment moi-même que la syntaxe ciblait la mauvaise entité. Malheureusement, cela n'a pas fonctionné non plus. La base de données sous-jacente est Oracle 10g mais je n'étais pas au courant de la fonction COALESCE. Je vais regarder dans cela; Merci encore – onoma