Bonjour,
j'utilise des requêtes JPQL avec HIBERNATE (JPA)

J'ai une clause OR dans ma requête qui ne me donne pas de bons résultats


La requête suivante

SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.subjectData is not null and aud.locationRef.location.oID = 1063 and aud.subjectData.clinicalData.study.oID = 1069 and aud.operation = 'INSERT')

me donne une seule ligne

1-10382


La requête suivante

SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.studyForDeleted.oID= 1069 and aud.locationRef.location.oID= 1063)

me donne 2 lignes

1-10866
2-11370




Quand j'utilise les 2 conditions avec une clause OR, j'obtiens seulement 1 ligne

SELECT aud.oID FROM eu.eclinica.cdisc.odm.ODMAuditRecord aud WHERE (aud.subjectData is not null and aud.locationRef.location.oID = 1063 and aud.subjectData.clinicalData.study.oID = 1069 and aud.operation = 'INSERT') OR (aud.studyForDeleted.oID= 1069 and aud.locationRef.location.oID= 1063)


Le résultat est

1-10382


J'ai enlevé une partie de la première sous requête

and aud.subjectData.clinicalData.study.oID = 1069

Et curieusement j'obtiens mes 3 lignes

1-10866
2-11370
3-10382


Je ne vois pas du tout pourquoi cette expression annule entièrement la deuxième sous requête

Merci d'avance pour vos réponses