Sto provando a scrivere una query HQL per ottenere un elenco di utenti che appartengono a una particolare organizzazione o qualsiasi affiliato da un elenco di affiliati, tuttavia non è possibile analizzare l'ibernazione. esso. Non riesco a capire perché. Ecco l'HQL:nodo AST imprevisto HQL: {vector}
from User u where
(u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees)
and u.parentOrganisation.deleted = false
and u.active = true
Questo è l'errore che hibernate sputa fuori:
unexpected AST node: {vector} [from com.myapp.User u where (u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees0_, :franchisees
1_, :franchisees2_) and u.parentOrganisation.deleted = false and u.active = true]. Stacktrace follows:
Message: unexpected AST node: {vector} [from com.myapp.User u where (u.parentOrganisation = :topLevelOrganisation or u.parentOrganisation in :franchisees0_, :fr
anchisees1_, :franchisees2_) and u.parentOrganisation.deleted = false and u.active = true]
Se prendo il po or u.parentOrganisation in :franchisees
, quindi la mia domanda è simile al seguente:
from User u where
(u.parentOrganisation = :topLevelOrganisation)
and u.parentOrganisation.deleted = false
and u.active = true
Quindi funziona bene. Cosa c'è di sbagliato nella mia sintassi? Perché l'ibernazione si lamenta di questa clausola in più?