openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
Subject Re: openjpa performance copmared to toplink essentials
Date Wed, 14 Mar 2007 18:30:15 GMT
Hans-

My first guess is that Toplink might be eagerly loading the relation,  
and OpenJPA is lazily loading it (i.e., it doesn't load the relation  
when you issue the query, so every time you call person.getAccount(),  
OpenJPA has to go back to the database). To verify this, you could  
enable SQL logging (see the docs for details) and observe the SQL  
that OpenJPA is executing.

Configuring eager fetching is a broad topic and is covered in detail  
in the documentation, but the quickest way to speed up the query  
might just be to add in a "join fetch" clause to the query. E.g., if  
your current query is "select p from Person p", then changing the  
query to be "select p from Person p join fetch account" might be  
sufficient to speed up the query.

Let us know if that doesn't work, and we can discuss more diagnostic  
and tuning steps you can take. I'm confident that OpenJPA's  
performance is at least be comparable to other implementations, and  
in many cases is significantly faster.



On Mar 14, 2007, at 11:18 AM, Hans J. Prueller wrote:

> Hi together,
>
>
>
> please allow me a simple question: I am currently preparing a "JPA"  
> workshop
> for a customer to show the developers
>
> the new way of working with JPA persistence in Java EE 5. Just to  
> show one
> of the advantages of an open standard like JPA
>
> I prepared the example to switch between OpenJPA and TopLink  
> Essentials "on
> the fly" just by changing the "provider"
>
> setting in persistence.xml and keeping the sourcecode unchanged.
>
>
>
> Basically this works fine but what I found out was that when  
> querying for
> objects with one-to-many relation and accessing
>
> the Collection (e.g. person.getAccount()), TopLink is about ten  
> times faster
> then OpenJPA. Oracle 9 Database is used as
>
> DB.
>
>
>
> Did I miss any tuning parameters or something that could enhance  
> OpenJPA
> performance? I just can't imagine that there
>
> are performance differences for simple "tutorial" application in  
> that order
> of magnitude!
>
>
>
> regards,
>
> HANS
>
>
>
> ===========================
> virtually hanzz...
>
>
>
>  <http://hanzz.zapto.org> http://hanzz.zapto.org (personal)
>  <http://www.cse.dmu.ac.uk/~hansp> http://www.cse.dmu.ac.uk/~hansp
> (research)
>
>
>


Mime
View raw message