openjpa-users mailing list archives

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

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

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

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  
> 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 = 1 OR = 2 OR = 4 OR  
>> = 6
>> I was thinking of something more along the lines of the IN SQL
>> statement ("WHERE 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.

View raw message