I have perform further testing. for hibernate and EJB3, I have enable second level caching and query caching. Hopfully, my configuration are correct for my result to make sense.
my test was perform on jboss 4.2.3 GA
entities used in my test:
There is a relation n to M between role and Account
Test 1: insertion of 100 roles with 1000 accounts in each roles:
For the insertion I have tested with cache enable and disable
EJB2: 29 seconds
EJB3: 109 seconds (cache enable), 97 seconds (cache disable)
hibernate: 76 seconds (cache enable), 72 seconds (cache disable)
test 2: get all account (100000 account):
EJB2: 5,6 seconds
EJB3: 3,6 seconds
hibernate: 3,7 seconds
the objectif of this post it to have confirmation that my result are acurate and to know if there is configuration error that I do that affect the performance of my EJB3 and hibernate test. I was especially surprise to see the performance of the insertions using EJB2 compaire to result with EJB3 and hibernate.
If there is somebody that know which type of configuration would allow me to get the same kind of performance on insertion with EJB3/hibernate than with EJB2, it would really appreciate to ear from you.
An Phong Do