openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nino Saturnino Martinez Vazquez Wael <nino.marti...@jayway.dk>
Subject Re: JPQL query not working..?
Date Tue, 01 Apr 2008 16:59:32 GMT


Patrick Linskey wrote:
>>  Im a newcommer both to JPA and OpenJPA. I've used hibernate previously
>>  as a provider, but found their error messages lacking a lot (almost
>>  impossible to work with). OpenJPA are how it's supposed to be:) Now you
>>  only need a criteria api like hibernates:)
>>     
>
> Have you looked at Quare [1]?
>   
Yeah, but it's pre-beta.. But youre right it looks promising.
>   
>>  Are there something visibly wrong with those queries? I have a couple of
>>  other there are working just fine, but it seems as when I go deeper than
>>  1 relation it does not work?
>>     
>
> Can you post the generated SQL?
>   
Here it are:

executing prepstmnt 12499224 SELECT DISTINCT t0.id, t0.version, 
t0.address, t0.alias, t0.birthDate, t0.browser, t0.defaultExerciseType, 
t0.email, t0.joined, t0.logins, t0.name, t0.password, 
t0.payingUserUntilDate, t0.sexType, t0.userType, t0.validated FROM 
PERSON t0 INNER JOIN PERSON_TrainingScheme t1 ON t0.id = t1.PERSON_id 
INNER JOIN TrainingScheme t2 ON t1.trainingSchemes_id = t2.id INNER JOIN 
TrainingSchemeAbstract t3 ON t2.id = t3.id INNER JOIN TrainingSet t4 ON 
t3.id = t4.trainingScheme_id INNER JOIN Exercise t5 ON t4.exercise_id = 
t5.id LIMIT ?, ? [params=(long) 0, (long) 40]

So this is the values that I put in, its the two parameters I guess.
search : where  ex.id IN (73637,73639)

> -Patrick
>
> [1] http://quaere.codehaus.org/
>
> On Tue, Apr 1, 2008 at 5:10 AM, Nino Saturnino Martinez Vazquez Wael
> <nino.martinez@jayway.dk> wrote:
>   
>> Hi
>>
>>  Im a newcommer both to JPA and OpenJPA. I've used hibernate previously
>>  as a provider, but found their error messages lacking a lot (almost
>>  impossible to work with). OpenJPA are how it's supposed to be:) Now you
>>  only need a criteria api like hibernates:)
>>
>>  However I have a JPQL query which doesnt seem to work as I want. In my
>>  project I have a Person which haves some trainingSchemes, these
>>  trainingSchemes has trainingSets and a trainingSet has a exercise. So I
>>  want a query which returns only persons with a certain exercise, I've
>>  tried it a dozen ways now. But the result are always the same I get all
>>  Persons in the database(I actually got the same result in hibernate
>>  using their criteria api) even though they do not have the exercise i
>>  query for. Now heres my 2 latest tries:
>>
>>
>>     * SELECT DISTINCT p FROM Person p, IN(p.trainingSchemes)
>>       ts,IN(ts.trainingSets) tset, IN(tset.exercise) ex where ex.id IN
>>       (someints)
>>     * SELECT DISTINCT p FROM Person as p INNER JOIN p.trainingSchemes as
>>       tscheme INNER JOIN tscheme.trainingSets as tset where
>>       tset.exercise.id IN(someints)
>>
>>  Are there something visibly wrong with those queries? I have a couple of
>>  other there are working just fine, but it seems as when I go deeper than
>>  1 relation it does not work?
>>
>>  --
>>  -Wicket for love
>>
>>  Nino Martinez Wael
>>  Java Specialist @ Jayway DK
>>  http://www.jayway.dk
>>  +45 2936 7684
>>
>>
>>     
>
>
>
>   

-- 
-Wicket for love

Nino Martinez Wael
Java Specialist @ Jayway DK
http://www.jayway.dk
+45 2936 7684


Mime
View raw message