L'équivalent HQL de SQL contient

Je suis en train d'écrire une requête HQL pour sélectionner les objets qui contiennent un objet à un enfant de la collection.

Exemple:

Concours Objet

ContestID  
ContestName  
RequiredCountries -> one to many collection of Country objects  

Pays De L'Objet

CountryCode  
CountryName  

Sql équivalent de ce que je veux:

SELECT * FROM CONTEST C  
WHERE C.CONTESTID IN(SELECT CONTESTID FROM CONTEST_COUNTRY CC INNER JOIN COUNTRY CTRY ON   
CC.COUNTRYCODE = CTRY.COUNTRYCODE WHERE COUNTRYCODE='USA')

OU

SELECT * FROM CONTEST C  
WHERE EXISTS(SELECT CONTESTID FROM CONTEST_COUNTRY CC INNER JOIN COUNTRY CTRY ON 
CC.COUNTRYCODE = CTRY.COUNTRYCODE WHERE COUNTRYCODE='USA' AND CC.CONTESTID=C.CONTESTID)  

J'ai cette hql, qui fonctionne, mais semble pas une bonne solution-

from Contest C  
where (from Country where CountryCode = :CountryCode) =  some elements(C.RequiredCountries) 

J'ai aussi envisager de se joindre avec des Pays, mais depuis je n'ai pas une classe d'objet pour représenter la relation, je n'étais pas sûr de la façon de joindre les requêtes HQL.

N'importe qui ont des idées ou des suggestions? Ce devrait être facile.

source d'informationauteur Brian