-->
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.  [ 1 post ] 
Author Message
 Post subject: collection wont load under certain conditions
PostPosted: Thu Apr 28, 2005 12:33 pm 
Newbie

Joined: Mon Oct 11, 2004 11:29 am
Posts: 11
Hi,
First, let me appologize for a long post. The problem I am hitting requires a bit of explanation.

The problematic collection is the SelectedProvisionClass.SelectedProvisions

When I load SelectedProvisionClass directly using an id the collection loads fine:
(notice the provisions count in the last line of output)
Code:
      SelectedProvisionClassId id =new SelectedProvisionClassId(new Long(9), new Long(40));
      SelectedProvisionClass clazz=(SelectedProvisionClass) session.load(SelectedProvisionClass.class, id);
      con.println("selected class: "+clazz.getProvisionClass().getName()+" id: "+clazz.getId().getContainerId()+","+clazz.getId().getProvisionClassId());
      con.println("provisions count: "+clazz.getSelectedProvisions().size());

Hibernate: select selectedpr0_.spc_id as spc1_0_, selectedpr0_.provision_class_id as provision2_0_, selectedpr0_.provision_class_id as provision2_3_0_ from tbl_selected_provision_class selectedpr0_ where selectedpr0_.spc_id=? and selectedpr0_.provision_class_id=?
Hibernate: select provisionc0_.id as id0_, provisionc0_.name as name1_0_ from tbl_provision_class provisionc0_ where provisionc0_.id=?
*****selected class: Provis-Maverick id: 9,40
Hibernate: select selectedpr0_.spc_id as spc1___, selectedpr0_.provision_class_id as provision3___, selectedpr0_.provision_id as provision2___, selectedpr0_.spc_id as spc1_0_, selectedpr0_.provision_id as provision2_0_, selectedpr0_.provision_class_id as provision3_0_, selectedpr0_.provision_id as provision2_2_0_, selectedpr0_.spc_id as spc1_2_0_, selectedpr0_.provision_class_id as provision3_2_0_ from tbl_selected_provision selectedpr0_ where selectedpr0_.spc_id=? and selectedpr0_.provision_class_id=?
Hibernate: select provision0_.id as id0_, provision0_.description as descript2_0_0_, provision0_.provision_class_id as provision3_0_0_ from tbl_provision provision0_ where provision0_.id=?
Hibernate: select provision0_.id as id0_, provision0_.description as descript2_0_0_, provision0_.provision_class_id as provision3_0_0_ from tbl_provision provision0_ where provision0_.id=?
*****provisions count: 2


BUT when i load the class through the SelectedProvisionsContainer the collection DOES NOT load:
(notice the provisions count is 0 instead of 2 at the last line of output)
Code:
      SelectedProvisionsContainer container=(SelectedProvisionsContainer)
         session.load(SelectedProvisionsContainer.class, new Long(9));
      con.println("there are: "+container.getClasses().size()+" classes  in the container");
      SelectedProvisionClass clazz=(SelectedProvisionClass) container.getClasses().toArray()[0];
      con.println("selected class: "+clazz.getProvisionClass().getName()+" id: "+clazz.getId().getContainerId()+","+clazz.getId().getProvisionClassId());
      con.println("provisions count: "+clazz.getSelectedProvisions().size());

Hibernate: select selectedpr0_.spc_id as spc1_0_ from tbl_selected_provisions_container selectedpr0_ where selectedpr0_.spc_id=?
Hibernate: select classes0_.spc_id as spc1___, classes0_.provision_class_id as provision2___, classes0_.spc_id as spc1_0_, classes0_.provision_class_id as provision2_0_, classes0_.provision_class_id as provision2_3_0_ from tbl_selected_provision_class classes0_ where classes0_.spc_id=?
Hibernate: select provisionc0_.id as id0_, provisionc0_.name as name1_0_ from tbl_provision_class provisionc0_ where provisionc0_.id=?
Hibernate: select provisionc0_.id as id0_, provisionc0_.name as name1_0_ from tbl_provision_class provisionc0_ where provisionc0_.id=?
Hibernate: select provisions0_.spc_id as spc1___, provisions0_.provision_id as provision2___, provisions0_.provision_class_id as provision3___, provisions0_.spc_id as spc1_0_, provisions0_.provision_id as provision2_0_, provisions0_.provision_class_id as provision3_0_, provisions0_.provision_id as provision2_2_0_, provisions0_.spc_id as spc1_2_0_, provisions0_.provision_class_id as provision3_2_0_ from tbl_selected_provision provisions0_ where provisions0_.spc_id=?
Hibernate: select provision0_.id as id0_, provision0_.description as descript2_0_0_, provision0_.provision_class_id as provision3_0_0_ from tbl_provision provision0_ where provision0_.id=?
Hibernate: select provision0_.id as id0_, provision0_.description as descript2_0_0_, provision0_.provision_class_id as provision3_0_0_ from tbl_provision provision0_ where provision0_.id=?
there are: 3 classes  in the container
*****selected class: Provis-Maverick id: 9,40
*****provisions count: 0


Also notice that SelectedProvisionsContainer.SelectedProvisions collection is loading even though i never access it when i load the SelectedProvisionsContainer class.

Any help is greatly appreciated, I've been stuck on this for a few days and its probably something totally obvious and I need another pair of eyes to point it out.

The mappings follow...

Thanks!

Here is the schema I am working with:
Image

Hibernate version: 3.0.2

Mapping documents:
<class name="SelectedProvisionsContainer">
<id column="spc_id" name="id">
<generator class="native"/>
</id>
<set cascade="save-update" inverse="true" name="classes">
<key> <column name="spc_id"/> </key>
<one-to-many class="SelectedProvisionClass"/>
</set>

<set cascade="save-update" inverse="true" name="provisions">
<key> <column name="spc_id"/> </key>
<one-to-many class="SelectedProvision"/>
</set>
</class>
<class name="SelectedProvisionClass">
<composite-id class="SelectedProvisionClassId" name="id" unsaved-value="any">
<key-property column="spc_id" name="containerId"/>
<key-property column="provision_class_id" name="provisionClassId"/>
</composite-id>
<set cascade="none" inverse="true" name="selectedProvisions">
<key>
<column name="spc_id" not-null="true"/>
<column name="provision_class_id" not-null="true"/>
</key>
<one-to-many class="SelectedProvision"/>
</set>
<many-to-one column="provision_class_id" insert="false"
name="provisionClass" update="false"/>
</class>
<class name="SelectedProvision">
<composite-id class="SelectedProvisionId" name="id" unsaved-value="any">
<key-property column="spc_id" name="containerId"/>
<key-property column="provision_id" name="provisionId"/>
<key-property column="provision_class_id" name="provisionClassId"/>
</composite-id>
<many-to-one column="provision_id" insert="false" name="provision" update="false"/>
<many-to-one insert="false" update="false" name="selectedProvisionClass">
<column name="spc_id"/>
<column name="provision_class_id"/>
</many-to-one>
</class>

Code between sessionFactory.openSession() and session.close():
see above
Full stack trace of any exception that occurs:

Name and version of the database you are using:
ms sql server 2000
The generated SQL (show_sql=true):
see above
Debug level Hibernate log excerpt:


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

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.