openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
Subject Re: Getting a group of entities by ID
Date Wed, 18 Jul 2007 18:26:17 GMT
Christian-

In additional to what David said, I think should be able to do:

    em.createQuery("SELECT x FROM shape x WHERE x.id in :ids").
       setParameter("ids", Arrays.asList(new Integer[] { 1, 2, 3 })).
       getResultlist();






On Jul 18, 2007, at 7:22 AM, David Ezzio wrote:

> Hi Christian,
>
> You might consider using the OpenJPAEntityManager.findAll method.  The
> expected advantage is that any objects in the datacache won't cause a
> hit to the database.  If there is a high likelihood that all  
> objects are
> in the datacache, then this is definitely the way to go.  If some
> objects will very likely not be in the cache, then you might want to
> investigate.  I'm not sure whether it will generate one SQL statement
> for all missing objects or one for each.  You might want to turn on  
> SQL
> logging to check,
>
> ((OpenJPAEntityManager) em).findAll(...)
>
> Hope this helps,
>
> David
>
> Christian Defoy wrote:
>> Hello,
>>
>> I can't find an easy way of retrieving a group of entities by
>> specifying only their IDs. For example, if I want to get shapes with
>> IDs 1, 2, 4 and 6, do I have to do the following query or is there a
>> better way?
>>
>> SELECT x FROM shape x WHERE x.id = 1 OR x.id = 2 OR x.id = 4 OR  
>> x.id = 6
>>
>> I was thinking of something more along the lines of the IN SQL
>> statement ("WHERE x.id IN (1,2,4,6)") but I haven't found anything to
>> do this.  Using SQL queries, I was able to retrieve my shapes but
>> OpenJPA does one select to retrieve the IDs (my SQL query with the IN
>> clause) and then one select per shape it retrieves.  That is no
>> different than me doing a find for every shape myself...
>>
>> Thanks in advance!
>>
>> Christian
>>
>
>
> Notice:  This email message, together with any attachments, may  
> contain information  of  BEA Systems,  Inc.,  its subsidiaries   
> and  affiliated entities,  that may be confidential,  proprietary,   
> copyrighted  and/or legally privileged, and is intended solely for  
> the use of the individual or entity named in this message. If you  
> are not the intended recipient, and have received this message in  
> error, please immediately return this by email and then delete it.


Mime
View raw message