-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Composite-id - different sessions - empty collection
PostPosted: Thu Feb 24, 2005 4:28 pm 
Newbie

Joined: Thu Feb 24, 2005 3:51 pm
Posts: 9
Location: Montevideo, Uruguay
Hi!
I'm having problems with a collecction of composite-id objects.
To symplify things, I have created this 3 simple classes.
Prueba1 is a simple class with a normal id and a collection of Prueba2(pruebas2).
Prueba2 has a Prueba1 property (prueba1) and a composite id (prueba1, codigo). It also has a collection of Prueba3 (pruebas3)
Prueba3 has a Prueba2 property (prueba2) and a composite id (prueba1, codigo).
All of this classes have a property called hibVersion for use with the version mapping.

Since Prueba2 is composite-id entity, in order to load it using Session.get(Class, Serializable) I have to create an instance of Prueba2 to use as Id, but before I have to load the Prueba1 object that is part of the id. Because of the architecture of my application, I do this in two separate sessions. I create a session, load the Prueba1 entity, close the session, then I open another session and I attempt to load the Prueba2 entity.

The Prueba2 entity is loaded fine, but the collection of Prueba3(pruebas3) object is empty when it should have at least one object.

If I do all this in a single session, the collection is loaded just fine.

I've seen a couple of posts that had problems with equals() or hashCode() but I don't think that's the problem here.

If anyone can give me a clue as to why this doesn't work in two sessions (its seems to me it shouldn't be an issue) I'd be very gratefull.

Thanks in advance,
JJ


Hibernate version:
2.1.8

Mapping documents:
Code:
<hibernate-mapping>
    <class name="pruebas.Prueba1" table="PRUEBA_1">
        <id name="codigo" type="integer" unsaved-value="-1">
            <column name="CODIGO" sql-type="NUMBER(5)" not-null="true"/>
         <generator class="assigned"/>
        </id>
      <version
         name="hibVersion"
         column="HIB_VERSION"
         type="integer"
         unsaved-value="undefined"
      />
      <bag name="pruebas2"
         table="PRUEBA_2"
         lazy="false"
         inverse="true"
      >
         <key column="PR1_CODIGO"/>
         <one-to-many class="pruebas.Prueba2"/>
      </bag>
    </class>
   
    <class name="pruebas.Prueba2" table="PRUEBA_2">
        <composite-id>
            <key-many-to-one name="prueba1"
            class="pruebas.Prueba1"
            column="PR1_CODIGO"
         />
         <key-property name="codigo"
            column="CODIGO"
            type="integer"
            length="5"
         />
        </composite-id>
      <version
         name="hibVersion"
         column="HIB_VERSION"
         type="integer"
         unsaved-value="negative"
      />
      <bag name="pruebas3"
         table="PRUEBA_3"
         lazy="false"
         inverse="true"
         cascade="all-delete-orphan"
      >
         <key>
            <column name="PR2_PR1_CODIGO"/>
            <column name="PR2_CODIGO"/>
         </key>
         <one-to-many class="pruebas.Prueba3"/>
      </bag>
    </class>
   
    <class name="pruebas.Prueba3" table="PRUEBA_3">
        <composite-id>
            <key-many-to-one name="prueba2"
            class="pruebas.Prueba2"
         >
            <column name="PR2_PR1_CODIGO"/>
            <column name="PR2_CODIGO"/>
         </key-many-to-one>
         <key-property name="codigo"
            column="CODIGO"
            type="integer"
            length="5"
         />
        </composite-id>
      <version
         name="hibVersion"
         column="HIB_VERSION"
         type="integer"
         unsaved-value="negative"
      />
    </class>
</hibernate-mapping>



Class definitions:
Prueba1.java
Code:
package pruebas;

import java.util.ArrayList;
import java.util.List;

public class Prueba1 {

   private int codigo;
   private int hibVersion;
   private List pruebas2;
   
   public Prueba1() {
      codigo = -1;
      pruebas2 = new ArrayList();
   }
   
   public boolean equals(Object o){
      if( o instanceof Prueba1)
         return getCodigo() == ((Prueba1)o).getCodigo();
      else
         return false;
   }

   public int getCodigo() {

      return this.codigo;
   }

   public void setCodigo(int codigo) {

      this.codigo = codigo;
   }

   public int getHibVersion() {

      return this.hibVersion;
   }

   public void setHibVersion(int hibVersion) {

      this.hibVersion = hibVersion;
   }

   public List getPruebas2() {

      return this.pruebas2;
   }

   public void setPruebas2(List pruebas2) {

      this.pruebas2 = pruebas2;
   }
   
}


Prueba2.java
Code:
package pruebas;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Prueba2 implements Serializable {

   private int codigo;
   private Prueba1 prueba1;
   private int hibVersion;
   private List pruebas3;
   
   public Prueba2() {
      prueba1 = null;
      codigo = -1;
      pruebas3 = new ArrayList();
   }
   
   public boolean equals(Object obj) {
      if( obj instanceof Prueba2 ) {
         Prueba2 objp2 = (Prueba2)obj;
         boolean res;
         if( getPrueba1() != null )
            res = getPrueba1().equals( objp2.getPrueba1() );
         else
            res = getPrueba1() == objp2.getPrueba1();
         return res && getCodigo() == objp2.getCodigo();
      }
      else
         return false;
   }
   
   public int hashCode() {
      if( getPrueba1() != null )
         return getPrueba1().hashCode() + getCodigo();
      else
         return getCodigo();
   }

   public int getCodigo() {
      return this.codigo;
   }

   public void setCodigo(int codigo) {

      this.codigo = codigo;
   }

   public Prueba1 getPrueba1() {

      return this.prueba1;
   }

   public void setPrueba1(Prueba1 prueba1) {

      this.prueba1 = prueba1;
   }

   public int getHibVersion() {

      return this.hibVersion;
   }

   public void setHibVersion(int hibVersion) {

      this.hibVersion = hibVersion;
   }

   public List getPruebas3() {

      return this.pruebas3;
   }

   public void setPruebas3(List pruebas3) {

      this.pruebas3 = pruebas3;
   }
   
}


Prueba3.java
Code:
package pruebas;

import java.io.Serializable;

public class Prueba3 implements Serializable{

   private int codigo;
   private Prueba2 prueba2;
   private int hibVersion;
   
   public Prueba3() {
      prueba2 = null;
      codigo = -1;
   }

   public boolean equals(Object obj) {
      if( obj instanceof Prueba3 ) {
         Prueba3 objp3 = (Prueba3)obj;
         boolean res;
         if( getPrueba2() != null )
            res = getPrueba2().equals( objp3.getPrueba2() );
         else
            res = getPrueba2() == objp3.getPrueba2();
         return res && getCodigo() == objp3.getCodigo();
      }
      else
         return false;
   }
   
   public int hashCode() {
      if( getPrueba2() != null )
         return getPrueba2().hashCode() + getCodigo();
      else
         return getCodigo();
   }
   
   public int getCodigo() {
      return this.codigo;
   }

   public void setCodigo(int codigo) {

      this.codigo = codigo;
   }

   public Prueba2 getPrueba2() {

      return this.prueba2;
   }

   public void setPrueba2(Prueba2 prueba2) {

      this.prueba2 = prueba2;
   }

   public int getHibVersion() {

      return this.hibVersion;
   }

   public void setHibVersion(int hibVersion) {

      this.hibVersion = hibVersion;
   }
   
}


Code between sessionFactory.openSession() and session.close():
This is not the actual code of my application :)
Its a very simplified version designed to isolate the problem.
Code:
   Session sesion = HibernateUtil.currentSession();
   Transaction tx = sesion.beginTransaction();
   Prueba1 p1 = (Prueba1)sesion.get( Prueba1.class, new Integer(1) );
   tx.commit();
   HibernateUtil.closeSession();
   sesion = HibernateUtil.currentSession();
   tx = sesion.beginTransaction();
   Prueba2 p2 = new Prueba2();
   p2.setPrueba1( p1 );
   p2.setCodigo( 10 );
   p2 = (Prueba2)sesion.get( Prueba2.class, p2 );
   tx.commit();
   HibernateUtil.closeSession();


If I comment lines 5 to 7 it works just fine.


Name and version of the database you are using:
Oracle 9i

The generated SQL (show_sql=true):
Code:
Hibernate: select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
Hibernate: select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?
Hibernate: select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
Hibernate: select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
Hibernate: select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
Hibernate: select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
Hibernate: select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
Hibernate: select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?
Hibernate: select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
Hibernate: select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?
Hibernate: select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
Hibernate: select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
Hibernate: select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
Hibernate: select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
Hibernate: select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
Hibernate: select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?


Debug level Hibernate log excerpt:
17:54:55,093 DEBUG SessionImpl:560 - opened session
17:54:55,109 DEBUG JDBCTransaction:37 - begin
17:54:55,109 DEBUG JDBCTransaction:41 - current autocommit status:true
17:54:55,109 DEBUG JDBCTransaction:43 - disabling autocommit
17:54:55,125 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,125 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,125 DEBUG SessionImpl:2130 - object not resolved in any cache [pruebas.Prueba1#1]
17:54:55,125 DEBUG EntityPersister:410 - Materializing entity: [pruebas.Prueba1#1]
17:54:55,125 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,125 DEBUG SQL:230 - select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
17:54:55,125 DEBUG BatcherImpl:253 - preparing statement
17:54:55,140 DEBUG Loader:281 - processing result set
17:54:55,140 DEBUG Loader:484 - result row: 1
17:54:55,140 DEBUG Loader:615 - Initializing object from ResultSet: 1
17:54:55,140 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba1#1
17:54:55,140 DEBUG SessionImpl:1920 - Version: 0
17:54:55,140 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,140 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:55,156 DEBUG BatcherImpl:275 - closing statement
17:54:55,156 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,171 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba1#1]
17:54:55,171 DEBUG SessionImpl:3994 - creating collection wrapper:[pruebas.Prueba1.pruebas2#1]
17:54:55,171 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba1#1]
17:54:55,171 DEBUG SessionImpl:3161 - initializing non-lazy collections
17:54:55,171 DEBUG SessionImpl:3307 - initializing collection [pruebas.Prueba1.pruebas2#1]
17:54:55,171 DEBUG SessionImpl:3308 - checking second-level cache
17:54:55,171 DEBUG SessionImpl:3314 - collection not cached
17:54:55,171 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,187 DEBUG SQL:230 - select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?
17:54:55,187 DEBUG BatcherImpl:253 - preparing statement
17:54:55,218 DEBUG Loader:406 - result set contains (possibly empty) collection: [pruebas.Prueba1.pruebas2#1]
17:54:55,218 DEBUG SessionImpl:3050 - uninitialized collection: initializing
17:54:55,218 DEBUG Loader:281 - processing result set
17:54:55,234 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,234 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,234 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,234 DEBUG Loader:484 - result row: pruebas.Prueba2@a2da11
17:54:55,234 DEBUG Loader:615 - Initializing object from ResultSet: pruebas.Prueba2@a2da11
17:54:55,234 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba2#pruebas.Prueba2@a2da11
17:54:55,250 DEBUG SessionImpl:1920 - Version: 0
17:54:55,250 DEBUG Loader:371 - found row of collection: [pruebas.Prueba1.pruebas2#1]
17:54:55,250 DEBUG SessionImpl:3073 - reading row
17:54:55,250 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,250 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,250 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,250 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,265 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,265 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,281 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,281 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:55,296 DEBUG BatcherImpl:275 - closing statement
17:54:55,296 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,296 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,296 DEBUG SessionImpl:3994 - creating collection wrapper:[pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,296 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,296 DEBUG SessionImpl:3109 - 1 collections were found in result set
17:54:55,312 DEBUG SessionImpl:3140 - collection fully initialized: [pruebas.Prueba1.pruebas2#1]
17:54:55,312 DEBUG SessionImpl:3143 - 1 collections initialized
17:54:55,312 DEBUG SessionImpl:3316 - collection initialized
17:54:55,312 DEBUG SessionImpl:3307 - initializing collection [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,312 DEBUG SessionImpl:3308 - checking second-level cache
17:54:55,312 DEBUG SessionImpl:3314 - collection not cached
17:54:55,312 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,328 DEBUG SQL:230 - select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
17:54:55,328 DEBUG BatcherImpl:253 - preparing statement
17:54:55,328 DEBUG Loader:406 - result set contains (possibly empty) collection: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,328 DEBUG SessionImpl:3050 - uninitialized collection: initializing
17:54:55,343 DEBUG Loader:281 - processing result set
17:54:55,343 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,343 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,343 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,343 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,343 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,343 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,359 DEBUG Loader:484 - result row: pruebas.Prueba3@a2da75
17:54:55,359 DEBUG Loader:615 - Initializing object from ResultSet: pruebas.Prueba3@a2da75
17:54:55,359 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba3#pruebas.Prueba3@a2da75
17:54:55,359 DEBUG SessionImpl:1920 - Version: 0
17:54:55,375 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,375 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,375 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,375 DEBUG Loader:371 - found row of collection: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,375 DEBUG SessionImpl:3073 - reading row
17:54:55,375 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,375 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,437 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,437 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,437 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,437 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,437 DEBUG SessionImpl:1996 - loading [pruebas.Prueba3#pruebas.Prueba3@a2da75]
17:54:55,468 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba3#pruebas.Prueba3@a2da75]
17:54:55,468 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba3#pruebas.Prueba3@a2da75]
17:54:55,468 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,484 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:55,484 DEBUG BatcherImpl:275 - closing statement
17:54:55,484 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,484 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba3#pruebas.Prueba3@a2da75]
17:54:55,484 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba3#pruebas.Prueba3@a2da75]
17:54:55,484 DEBUG SessionImpl:3109 - 1 collections were found in result set
17:54:55,484 DEBUG SessionImpl:3140 - collection fully initialized: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,484 DEBUG SessionImpl:3143 - 1 collections initialized
17:54:55,500 DEBUG SessionImpl:3316 - collection initialized
17:54:55,500 DEBUG JDBCTransaction:59 - commit
17:54:55,500 DEBUG SessionImpl:2267 - flushing session
17:54:55,500 DEBUG Cascades:497 - processing cascades for: pruebas.Prueba2
17:54:55,515 DEBUG Cascades:524 - cascading to collection: pruebas.Prueba2.pruebas3
17:54:55,531 DEBUG Cascades:113 - cascading to saveOrUpdate()
17:54:55,531 DEBUG SessionImpl:1382 - saveOrUpdate() persistent instance
17:54:55,531 DEBUG Cascades:506 - done processing cascades for: pruebas.Prueba2
17:54:55,531 DEBUG SessionImpl:2467 - Flushing entities and processing referenced collections
17:54:55,546 DEBUG SessionImpl:2916 - Collection found: [pruebas.Prueba1.pruebas2#1], was: [pruebas.Prueba1.pruebas2#1]
17:54:55,562 DEBUG SessionImpl:2916 - Collection found: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11], was: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,562 DEBUG SessionImpl:2808 - Processing unreferenced collections
17:54:55,562 DEBUG SessionImpl:2822 - Scheduling collection removes/(re)creates/updates
17:54:55,562 DEBUG SessionImpl:2291 - Flushed: 0 insertions, 0 updates, 0 deletions to 3 objects
17:54:55,562 DEBUG SessionImpl:2296 - Flushed: 0 (re)creations, 0 updates, 0 removals to 2 collections
17:54:55,562 DEBUG Printer:75 - listing entities:
17:54:55,562 DEBUG Printer:82 - pruebas.Prueba2{hibVersion=0, pruebas3=[Prueba3]}
17:54:55,578 DEBUG Printer:82 - pruebas.Prueba3{hibVersion=0}
17:54:55,578 DEBUG Printer:82 - pruebas.Prueba1{hibVersion=0, pruebas2=[Prueba2], codigo=1}
17:54:55,578 DEBUG SessionImpl:2380 - executing flush
17:54:55,593 DEBUG SessionImpl:2852 - post flush
17:54:55,593 DEBUG SessionImpl:596 - transaction completion
17:54:55,593 DEBUG JDBCTransaction:103 - re-enabling autocommit
17:54:55,609 DEBUG SessionImpl:578 - closing session
17:54:55,609 DEBUG SessionImpl:3383 - disconnecting session
17:54:55,609 DEBUG SessionImpl:596 - transaction completion
17:54:55,609 DEBUG SessionImpl:560 - opened session
17:54:55,609 DEBUG JDBCTransaction:37 - begin
17:54:55,609 DEBUG JDBCTransaction:41 - current autocommit status:true
17:54:55,609 DEBUG JDBCTransaction:43 - disabling autocommit
17:54:55,609 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,625 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,625 DEBUG SessionImpl:2130 - object not resolved in any cache [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,625 DEBUG EntityPersister:410 - Materializing entity: [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,625 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,625 DEBUG SQL:230 - select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
17:54:55,640 DEBUG BatcherImpl:253 - preparing statement
17:54:55,640 DEBUG Cascades:396 - version unsaved-value strategy UNDEFINED
17:54:55,640 DEBUG Cascades:312 - id unsaved-value: -1
17:54:55,640 DEBUG Loader:281 - processing result set
17:54:55,640 DEBUG Loader:484 - result row: pruebas.Prueba2@a2da11
17:54:55,656 DEBUG Loader:615 - Initializing object from ResultSet: pruebas.Prueba2@a2da11
17:54:55,656 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba2#pruebas.Prueba2@a2da11
17:54:55,656 DEBUG SessionImpl:1920 - Version: 0
17:54:55,656 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,656 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:55,656 DEBUG BatcherImpl:275 - closing statement
17:54:55,656 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,656 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,671 DEBUG SessionImpl:3994 - creating collection wrapper:[pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,671 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba2#pruebas.Prueba2@a2da11]
17:54:55,671 DEBUG SessionImpl:3161 - initializing non-lazy collections
17:54:55,671 DEBUG SessionImpl:3307 - initializing collection [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,671 DEBUG SessionImpl:3308 - checking second-level cache
17:54:55,687 DEBUG SessionImpl:3314 - collection not cached
17:54:55,687 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,687 DEBUG SQL:230 - select pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1___, pruebas30_.PR2_CODIGO as PR2_CODIGO__, pruebas30_.CODIGO as CODIGO__, pruebas30_.PR2_PR1_CODIGO as PR2_PR1_1_0_, pruebas30_.PR2_CODIGO as PR2_CODIGO0_, pruebas30_.CODIGO as CODIGO0_, pruebas30_.HIB_VERSION as HIB_VERS4_0_ from PRUEBA_3 pruebas30_ where pruebas30_.PR2_PR1_CODIGO=? and pruebas30_.PR2_CODIGO=?
17:54:55,703 DEBUG BatcherImpl:253 - preparing statement
17:54:55,703 DEBUG Cascades:396 - version unsaved-value strategy UNDEFINED
17:54:55,703 DEBUG Cascades:312 - id unsaved-value: -1
17:54:55,718 DEBUG Loader:406 - result set contains (possibly empty) collection: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,718 DEBUG SessionImpl:3050 - uninitialized collection: initializing
17:54:55,718 DEBUG Loader:281 - processing result set
17:54:55,718 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,718 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,750 DEBUG SessionImpl:2130 - object not resolved in any cache [pruebas.Prueba1#1]
17:54:55,750 DEBUG EntityPersister:410 - Materializing entity: [pruebas.Prueba1#1]
17:54:55,750 DEBUG BatcherImpl:204 - about to open: 1 open PreparedStatements, 1 open ResultSets
17:54:55,765 DEBUG SQL:230 - select prueba10_.CODIGO as CODIGO0_, prueba10_.HIB_VERSION as HIB_VERS2_0_ from PRUEBA_1 prueba10_ where prueba10_.CODIGO=?
17:54:55,765 DEBUG BatcherImpl:253 - preparing statement
17:54:55,765 DEBUG Loader:281 - processing result set
17:54:55,781 DEBUG Loader:484 - result row: 1
17:54:55,781 DEBUG Loader:615 - Initializing object from ResultSet: 1
17:54:55,781 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba1#1
17:54:55,781 DEBUG SessionImpl:1920 - Version: 0
17:54:55,781 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,781 DEBUG BatcherImpl:211 - done closing: 1 open PreparedStatements, 1 open ResultSets
17:54:55,812 DEBUG BatcherImpl:275 - closing statement
17:54:55,812 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,812 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba1#1]
17:54:55,812 DEBUG SessionImpl:3994 - creating collection wrapper:[pruebas.Prueba1.pruebas2#1]
17:54:55,812 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba1#1]
17:54:55,812 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,828 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,828 DEBUG SessionImpl:2130 - object not resolved in any cache [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,828 DEBUG EntityPersister:410 - Materializing entity: [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,828 DEBUG BatcherImpl:204 - about to open: 1 open PreparedStatements, 1 open ResultSets
17:54:55,828 DEBUG SQL:230 - select prueba20_.PR1_CODIGO as PR1_CODIGO0_, prueba20_.CODIGO as CODIGO0_, prueba20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 prueba20_ where prueba20_.PR1_CODIGO=? and prueba20_.CODIGO=?
17:54:55,828 DEBUG BatcherImpl:253 - preparing statement
17:54:55,843 DEBUG Loader:281 - processing result set
17:54:55,843 DEBUG Loader:484 - result row: pruebas.Prueba2@33505d
17:54:55,859 DEBUG Loader:615 - Initializing object from ResultSet: pruebas.Prueba2@33505d
17:54:55,859 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba2#pruebas.Prueba2@33505d
17:54:55,859 DEBUG SessionImpl:1920 - Version: 0
17:54:55,859 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,859 DEBUG BatcherImpl:211 - done closing: 1 open PreparedStatements, 1 open ResultSets
17:54:55,859 DEBUG BatcherImpl:275 - closing statement
17:54:55,875 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,875 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,875 DEBUG SessionImpl:3994 - creating collection wrapper:[pruebas.Prueba2.pruebas3#pruebas.Prueba2@33505d]
17:54:55,875 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,890 DEBUG Loader:484 - result row: pruebas.Prueba3@3350c1
17:54:55,890 DEBUG Loader:615 - Initializing object from ResultSet: pruebas.Prueba3@3350c1
17:54:55,890 DEBUG Loader:684 - Hydrating entity: pruebas.Prueba3#pruebas.Prueba3@3350c1
17:54:55,890 DEBUG SessionImpl:1920 - Version: 0
17:54:55,890 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,890 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,890 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,906 DEBUG Loader:371 - found row of collection: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@33505d]
17:54:55,906 DEBUG SessionImpl:3050 - uninitialized collection: initializing
17:54:55,906 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:55,906 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:55,906 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:55,906 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,906 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,937 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:55,937 DEBUG SessionImpl:1996 - loading [pruebas.Prueba3#pruebas.Prueba3@3350c1]
17:54:55,937 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba3#pruebas.Prueba3@3350c1]
17:54:55,937 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba3#pruebas.Prueba3@3350c1]
17:54:55,953 DEBUG Loader:298 - done processing result set (1 rows)
17:54:55,953 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:55,953 DEBUG BatcherImpl:275 - closing statement
17:54:55,953 DEBUG Loader:318 - total objects hydrated: 1
17:54:55,953 DEBUG SessionImpl:2216 - resolving associations for [pruebas.Prueba3#pruebas.Prueba3@3350c1]
17:54:55,953 DEBUG SessionImpl:2247 - done materializing entity [pruebas.Prueba3#pruebas.Prueba3@3350c1]
17:54:55,968 DEBUG SessionImpl:3109 - 2 collections were found in result set
17:54:55,968 DEBUG SessionImpl:3140 - collection fully initialized: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:55,968 DEBUG SessionImpl:3140 - collection fully initialized: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@33505d]
17:54:55,968 DEBUG SessionImpl:3143 - 2 collections initialized
17:54:55,968 DEBUG SessionImpl:3316 - collection initialized
17:54:55,984 DEBUG SessionImpl:3307 - initializing collection [pruebas.Prueba1.pruebas2#1]
17:54:55,984 DEBUG SessionImpl:3308 - checking second-level cache
17:54:55,984 DEBUG SessionImpl:3314 - collection not cached
17:54:55,984 DEBUG BatcherImpl:204 - about to open: 0 open PreparedStatements, 0 open ResultSets
17:54:55,984 DEBUG SQL:230 - select pruebas20_.PR1_CODIGO as PR1_CODIGO__, pruebas20_.CODIGO as CODIGO__, pruebas20_.PR1_CODIGO as PR1_CODIGO0_, pruebas20_.CODIGO as CODIGO0_, pruebas20_.HIB_VERSION as HIB_VERS3_0_ from PRUEBA_2 pruebas20_ where pruebas20_.PR1_CODIGO=?
17:54:55,984 DEBUG BatcherImpl:253 - preparing statement
17:54:56,000 DEBUG Loader:406 - result set contains (possibly empty) collection: [pruebas.Prueba1.pruebas2#1]
17:54:56,015 DEBUG SessionImpl:3050 - uninitialized collection: initializing
17:54:56,015 DEBUG Loader:281 - processing result set
17:54:56,015 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:56,015 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:56,015 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:56,015 DEBUG Loader:484 - result row: pruebas.Prueba2@33505d
17:54:56,015 DEBUG Loader:371 - found row of collection: [pruebas.Prueba1.pruebas2#1]
17:54:56,031 DEBUG SessionImpl:3073 - reading row
17:54:56,031 DEBUG SessionImpl:1996 - loading [pruebas.Prueba1#1]
17:54:56,031 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba1#1]
17:54:56,031 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba1#1]
17:54:56,031 DEBUG SessionImpl:1996 - loading [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:56,062 DEBUG SessionImpl:2094 - attempting to resolve [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:56,062 DEBUG SessionImpl:2110 - resolved object in session cache [pruebas.Prueba2#pruebas.Prueba2@33505d]
17:54:56,062 DEBUG Loader:298 - done processing result set (1 rows)
17:54:56,062 DEBUG BatcherImpl:211 - done closing: 0 open PreparedStatements, 0 open ResultSets
17:54:56,062 DEBUG BatcherImpl:275 - closing statement
17:54:56,078 DEBUG Loader:318 - total objects hydrated: 0
17:54:56,078 DEBUG SessionImpl:3109 - 1 collections were found in result set
17:54:56,078 DEBUG SessionImpl:3140 - collection fully initialized: [pruebas.Prueba1.pruebas2#1]
17:54:56,078 DEBUG SessionImpl:3143 - 1 collections initialized
17:54:56,078 DEBUG SessionImpl:3316 - collection initialized
17:54:56,093 DEBUG JDBCTransaction:59 - commit
17:54:56,093 DEBUG SessionImpl:2267 - flushing session
17:54:56,093 DEBUG Cascades:497 - processing cascades for: pruebas.Prueba2
17:54:56,093 DEBUG Cascades:524 - cascading to collection: pruebas.Prueba2.pruebas3
17:54:56,093 DEBUG Cascades:506 - done processing cascades for: pruebas.Prueba2
17:54:56,093 DEBUG Cascades:497 - processing cascades for: pruebas.Prueba2
17:54:56,093 DEBUG Cascades:524 - cascading to collection: pruebas.Prueba2.pruebas3
17:54:56,093 DEBUG Cascades:113 - cascading to saveOrUpdate()
17:54:56,093 DEBUG SessionImpl:1382 - saveOrUpdate() persistent instance
17:54:56,093 DEBUG Cascades:506 - done processing cascades for: pruebas.Prueba2
17:54:56,109 DEBUG SessionImpl:2467 - Flushing entities and processing referenced collections
17:54:56,109 DEBUG SessionImpl:2916 - Collection found: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11], was: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@a2da11]
17:54:56,109 DEBUG SessionImpl:2916 - Collection found: [pruebas.Prueba1.pruebas2#1], was: [pruebas.Prueba1.pruebas2#1]
17:54:56,109 DEBUG SessionImpl:2916 - Collection found: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@33505d], was: [pruebas.Prueba2.pruebas3#pruebas.Prueba2@33505d]
17:54:56,109 DEBUG SessionImpl:2808 - Processing unreferenced collections
17:54:56,109 DEBUG SessionImpl:2822 - Scheduling collection removes/(re)creates/updates
17:54:56,109 DEBUG SessionImpl:2291 - Flushed: 0 insertions, 0 updates, 0 deletions to 4 objects
17:54:56,125 DEBUG SessionImpl:2296 - Flushed: 0 (re)creations, 0 updates, 0 removals to 3 collections
17:54:56,125 DEBUG Printer:75 - listing entities:
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba2{hibVersion=0, pruebas3=[]}
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba2{hibVersion=0, pruebas3=[Prueba3]}
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba3{hibVersion=0}
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba1{hibVersion=0, pruebas2=[Prueba2], codigo=1}
17:54:56,125 DEBUG SessionImpl:2380 - executing flush
17:54:56,125 DEBUG SessionImpl:2852 - post flush
17:54:56,140 DEBUG SessionImpl:596 - transaction completion
17:54:56,140 DEBUG JDBCTransaction:103 - re-enabling autocommit
17:54:56,140 DEBUG SessionImpl:578 - closing session
17:54:56,140 DEBUG SessionImpl:3383 - disconnecting session
17:54:56,140 DEBUG SessionImpl:596 - transaction completion


Top
 Profile  
 
 Post subject: More problems
PostPosted: Wed Mar 02, 2005 5:41 pm 
Newbie

Joined: Thu Feb 24, 2005 3:51 pm
Posts: 9
Location: Montevideo, Uruguay
I've encountered the same problem with a different set of classes in my aplication.
The problem seems to be more simple than I had originaly thought:
When loading a entity with a composite id ( many-to-one, property ) and a one-to-many, inverse=true, bag using a transient instance in the many-to-one relationship, Hibernate does NOT load the collection.
I'm thinking of posting this to JIRA if no one objects...

Look at this from my previous post:
Quote:
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba2{hibVersion=0, pruebas3=[]}
17:54:56,125 DEBUG Printer:82 - pruebas.Prueba2{hibVersion=0, pruebas3=[Prueba3]}


Why are there 2 instances of the same object?


Top
 Profile  
 
 Post subject: Re: More problems
PostPosted: Wed Mar 02, 2005 6:34 pm 
Regular
Regular

Joined: Thu Dec 18, 2003 2:14 am
Posts: 103
Location: Brooklyn, NY
jjsilo wrote:
Why are there 2 instances of the same object?

I can only assume both of these are equals() hashcode() issues. The code above has complex equals() implementations, which I cannot claim to understand. Hard to me to distinguish between classes named Preuba1, Preuba2, Preuba3.

I would suggest both of you put some logging in your equals() implementations and confirm they are working properly in all cases.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 02, 2005 6:36 pm 
Regular
Regular

Joined: Thu Dec 18, 2003 2:14 am
Posts: 103
Location: Brooklyn, NY
...better yet, create some unit tests. Equals has caused me problems more than once, so it is crucial to cover.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.