I migrate from OpenJPA 1.2 to Hiberante 4.0
I'm using TimesTen DB
I'm doing a native query to get id's of object's that I need , and then perform find on each on of them.
In OpenJPA
instead of find I used findCache()
method and if it return null I use the find()
method , In hibernate I used only the find()
method.
I performed this operation on the same DB.
after running couple of test I saw that the performance of OpenJPA is far better.
I printed the statistics of hibernate session ( after querying and finding the same object's) and saw that the hit\miss
count to the first level cache is always 0.
while the OpenJPA is clearly reaching it's cache by fetching object's with the findCache
method.
How can I improve the performance of find in Hibernate ? I suspect it referred to the difference in the first level cache implementation of this tools.
another fact: I use the same EntityManager for the application run time ( I need to minimize the cost of creating of an EntityManager - my app is soft real time )
thanks.