[hibernate-dev] Prepared statement for EAGER entity relations returning cursor not closed

Brett Meyer brmeyer at redhat.com
Wed Jan 22 10:46:27 EST 2014


Levan, that's already corrected under https://hibernate.atlassian.net/browse/HHH-8811 and will be in 4.3.1.

Brett Meyer
Red Hat, Hibernate ORM

----- Original Message -----
From: "Levan Tsinadze" <levantsinadze at gmail.com>
To: hibernate-dev at lists.jboss.org
Sent: Tuesday, January 21, 2014 6:54:59 PM
Subject: [hibernate-dev] Prepared statement for EAGER entity relations	returning cursor not closed

Hello everybody

I found that after migrating from 4.2.8.Final to 4.3.0.Final, if I have
several @OneToMany EAGER entity relations and select at least 500 rows I
get ORA-01000: maximum open cursors exceeded JDBC exception for Oracle
database (ojdbc 12.1.0.1)

I think problem is in
org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad
method which calls  (line 156, column
106) org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.release(ResultSet
resultSet, Statement statement) method and this last method closes only
passed ResultSet, not Statement.

I also found that in 4.2.7.SP1 in such case is
called org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.release(Statement
statement) which closes as ResultSet as passed Statement.

Sincerely,

Levan Tsinadze
_______________________________________________
hibernate-dev mailing list
hibernate-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev


More information about the hibernate-dev mailing list