I posted this problem before but got no answer yet (
https://forum.hibernate.org/viewtopic.php?f=1&t=1014585). Now I upgraded to 4.1.1 and the problem persists. I still don't know it's really a hibernate problem or a configuration/usage issue.
I'll describe it again.
Code:
open session
for (about 5000 iterations) {
load
}
close session
For the first 300 iterations performance goes well, but after that I notice the queries are executed slower and slower until the following exception throws:
ERROR - [JDBC Progress Driver]:Out Of Memory
WARN - SQL Error: 30190, SQLState: HY001
The problem occurs also when I do only saves inside the loop:
Code:
open session
for {
begin transaction
saveOrUpdade
commit
}
close session
Prior 4.1.0.Final upgrade I didn't have this problem. The only solution I found until now was:
Code:
for {
open session
do load or save
close session
}
This way the performance is normal but it doesn't seem to be right.
By the way, I'm using c3p0 with the following configurations:
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=20
I tried to change pool size, max_statements, but no solution.
Any thoughts?