Uploaded image for project: 'Hibernate ORM'
  1. HHH-1312

Unclosed ResultSet when using Identity

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects versions: 3.1 rc2, 3.1 rc3, 3.1
    • Fix versions: 3.2.6, 3.3.0.CR1
    • Components: hibernate-core
    • Labels:
      None
    • Environment:
      JBoss 4.0.3SP1
      Hibernate 3.1rc2
      Java 1.5.0_06
      MSSQLServer 2000
    • Bug Testcase Reminder (view):

      Bug reports should generally be accompanied by a test case!

    • Last commented by a user?:
      true
    • Sprint:

      Description

      The code around AbstractEntityPersister.java line 1969 obtains a result set using GetGeneratedKeysHelper.getGeneratedKey
      but the result set is never closed by this function nor the functions it calls. The issue was exposed by the
      message below in JBoss 4.0.3 SP1.

      This is an EJB3 application on JBoss using MSSQLServer 2000 and we are persisting an object with a primary key using an
      identity data type.

      A review of the Hibernate 3.1 source code seems to indicate it has the same issue.

      11:29:30,817 WARN [WrappedConnection] Closing a result set you left open! Please close it yourself.
      java.lang.Throwable: STACKTRACE
      at org.jboss.resource.adapter.jdbc.WrappedStatement.registerResultSet(WrappedStatement.java:572)
      at org.jboss.resource.adapter.jdbc.WrappedStatement.getGeneratedKeys(WrappedStatement.java:501)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.hibernate.util.GetGeneratedKeysHelper.getGeneratedKey(GetGeneratedKeysHelper.java:59)
      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1969)
      at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2404)
      at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)
      at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
      at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:269)
      at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
      at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)
      at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
      at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
      at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
      at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:590)
      at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:568)
      at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:130)
      at org.jboss.ejb3.entity.InjectedEntityManager.persist(InjectedEntityManager.java:97)
      <snip>

        Attachments

          Activity

            People

            • Votes:
              4 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: