Bonjour, j'utilise Hibernate 3 dans mon code java et je n'arrive pas à exprimer une requête.
Voici la requête que j'utilise pour le moment:
Une entité de type UimaWorkflowConfiguration possède 2 champs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select count(uwc) from UimaWorkflowConfiguration as uwc where uwc.crConfiguration.componentConfiguration.component = :uc or uwc.ciConfiguration.componentConfiguration.component = :uc
-> crConfiguration
-> ciConfiguration (optionnel)
Le problème que j'ai surviens lorsque 'uwc.ciConfiguration' est null.
Dans ma requête l'expression 'uwc.ciConfiguration.componentConfiguration.component = :uc' est évaluée même si 'uwc.ciConfiguration' est null.
Je souhaiterais que cette expression soit évaluée que si 'uwc.ciConfiguration' n'est pas null.
J'ai donc essayé ceci mais ça n'a rien changé:
Les deux requêtes retournent donc '0' dans le cas ou:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select count(uwc) from UimaWorkflowConfiguration as uwc where uwc.crConfiguration.componentConfiguration.component = :uc or ((uwc.ciConfiguration is not null) and (uwc.ciConfiguration.componentConfiguration.component = :uc))
Ce qui n'est pas bon dans mon cas puisque la requête devrait me compter tous les UimaWorkflowConfiguration ayant 'uwc.crConfiguration.componentConfiguration.component' égal à un composant particulier et le champ 'uwc.ciConfiguration' à null aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3uwc.crConfiguration.componentConfiguration.component = :uc uwc.ciConfiguration = null
Vous voyez une solution permettant de n'évaluer l'expression ''uwc.ciConfiguration.componentConfiguration.component = :uc" que si "uwc.ciConfiguration" n'est pas null ?
Merci.
Partager