HQL non supporto subqueries, tuttavia essi può avvenire solo nel selezionare o clausola where l'esempio che fornisci sarebbe meglio essere scritto come una dichiarazione di diritto in HQL Ad esempio:..
select count(*) from table t (where table is the entity name)
Se il la query implica un'istruzione più complicata di (select * from Table)
, è consigliabile inserire questa logica in una vista e quindi creare un'entità basata su questa vista.
Per i database che supportano subselect, Hibernate supporta le subquery all'interno delle query. Una sottoquery deve essere racchiusa tra parentesi (spesso con una chiamata di funzione aggregata SQL). Sono consentite anche le subquery correlate (sottoquery che fanno riferimento a un alias nella query esterna).
Esempio
from DomesticCat as cat
where cat.name not in (
select name.nickName from Name as name
)
fonte
2013-04-03 08:36:15
Ho lo stesso problema, Si prega di suggerire soluzione esatta è stato utilizzato –