I am having a problem with using set mapping in hibernate 3.0
I have a relationship between a sdrl and a schedule.
The sdrl can have multiple schedules.
I am trying to use a set to get the schedules loaded into the sdrl.
Inside my sdrl.xml file I have this:
<set name="schedules" inverse="true" lazy="true">
<key column="sdrl_id"></key>
<one-to-many class="IdmsScheduleTable" />
</set>
Inside my schedule.xml file I have this:
<many-to-one name="sdrl" column="sdrl_id" class="IdmsSdrlTable" not-null="true" />
The code to initialize the sdrl/schedules looks like this:
Transaction tx = s.beginTransaction();
IdmsSdrlTable sdrl = (IdmsSdrlTable)s.load(IdmsSdrlTable.class, sdrl_id);
Hibernate.initialize(sdrl.getSchedules());
tx.commit();
s.close();
System.out.println("sdrl sched="+sdrl.getSchedules().size());
My problem is even when I have multiple schedules on the sdrl it always pulls back 1 schedule in the set. I have spent alot of time trying to fix this with no luck. Anyone have an idea why sdrl would always pull back a set of 1 schedule?
Thanks,
Dave
Hibernate version: Hibernate 3.0
Code between sessionFactory.openSession() and session.close():
Transaction tx = s.beginTransaction();
IdmsSdrlTable sdrl = (IdmsSdrlTable)s.load(IdmsSdrlTable.class, sdrl_id);
Hibernate.initialize(sdrl.getSchedules());
tx.commit();
s.close();
System.out.println("sdrl sched="+sdrl.getSchedules().size());
Full stack trace of any exception that occurs: No exception
Name and version of the database you are using: Oracle 9i
The generated SQL (show_sql=true):
Hibernate: select idmssdrlta0_.SDRL_ID as SDRL1_0_, idmssdrlta0_.DATA_ITEM_DESC as DATA2_11_0_, idmssdrlta0_.CREATE_DATE as CREATE3_11_0_, idmssdrlta0_.UPDATE_DATE as UPDATE4_11_0_, idmssdrlta0_.DATA_MGMT_SIG as DATA5_11_0_, idmssdrlta0_.PRIM_REV_SIG as PRIM6_11_0_, idmssdrlta0_.BUYER_SIG as BUYER7_11_0_, idmssdrlta0_.SCHEDULE_TYPE as SCHEDULE8_11_0_, idmssdrlta0_.REPRODUCE_QTY as REPRODUCE9_11_0_, idmssdrlta0_.NONREPRODUCE_QTY as NONREPR10_11_0_, idmssdrlta0_.TASK_REFERENCE as TASK11_11_0_, idmssdrlta0_.COMMENTS as COMMENTS11_0_, idmssdrlta0_.FIRST_SUBMITTAL as FIRST13_11_0_, idmssdrlta0_.SUBSEQUENT_SUBMITTAL as SUBSEQUENT14_11_0_, idmssdrlta0_.REMARKS as REMARKS11_0_, idmssdrlta0_.TYPE as TYPE11_0_, idmssdrlta0_.STATUS as STATUS11_0_, idmssdrlta0_.ARCHIVE_FLAG as ARCHIVE18_11_0_, idmssdrlta0_.DATA_MGMT_SIG2 as DATA19_11_0_, idmssdrlta0_.NOT_REQUIRED_REASON as NOT20_11_0_, idmssdrlta0_.SDRL_NO as SDRL21_11_0_, idmssdrlta0_.DATA_ITEM as DATA22_11_0_, idmssdrlta0_.PART_ID as PART23_11_0_ from IDMS_SDRL_TABLE idmssdrlta0_ where idmssdrlta0_.SDRL_ID=?
Hibernate: select schedules0_.sdrl_id as sdrl69_1_, schedules0_.PART_ID as PART1_1_, schedules0_.PART_ID as PART1_0_, schedules0_.SDRL_ID as SDRL2_3_0_, schedules0_.SCHEDULE_ID as SCHEDULE3_3_0_, schedules0_.OPEN_DATE as OPEN4_3_0_, schedules0_.CLOSE_DATE as CLOSE5_3_0_, schedules0_.STATUS as STATUS3_0_, schedules0_.SUPPLIER_EST_DUE_DATE as SUPPLIER7_3_0_, schedules0_.SUPPLIER_DUE_DATE as SUPPLIER8_3_0_, schedules0_.SUPPLIER_SLIP_DATE_CNT as SUPPLIER9_3_0_, schedules0_.SUPPLIER_COMPLETE_DATE as SUPPLIER10_3_0_, schedules0_.SUPPLIER_SIG as SUPPLIER11_3_0_, schedules0_.SUPPLIER_ORG_CODE as SUPPLIER12_3_0_, schedules0_.SUPPLIER_STATUS as SUPPLIER13_3_0_, schedules0_.DATA_MGMT_EST_DUE_DATE as DATA14_3_0_, schedules0_.DATA_MGMT_DUE_DATE as DATA15_3_0_, schedules0_.DATA_MGMT_SLIP_DATE_CNT as DATA16_3_0_, schedules0_.DATA_MGMT_COMPLETE_DATE as DATA17_3_0_, schedules0_.DATA_MGMT_SIG as DATA18_3_0_, schedules0_.DATA_MGMT_STATUS as DATA19_3_0_, schedules0_.PRIMARY_EST_DUE_DATE as PRIMARY20_3_0_, schedules0_.PRIMARY_DUE_DATE as PRIMARY21_3_0_, schedules0_.PRIMARY_SLIP_DATE_CNT as PRIMARY22_3_0_, schedules0_.PRIMARY_COMPLETE_DATE as PRIMARY23_3_0_, schedules0_.PRIMARY_SIG as PRIMARY24_3_0_, schedules0_.PRIMARY_STATUS as PRIMARY25_3_0_, schedules0_.BUYER_EST_DUE_DATE as BUYER26_3_0_, schedules0_.BUYER_DUE_DATE as BUYER27_3_0_, schedules0_.BUYER_SLIP_DATE_CNT as BUYER28_3_0_, schedules0_.BUYER_COMPLETE_DATE as BUYER29_3_0_, schedules0_.BUYER_SIG as BUYER30_3_0_, schedules0_.BUYER_STATUS as BUYER31_3_0_, schedules0_.BOEING_EST_DUE_DATE as BOEING32_3_0_, schedules0_.BOEING_DUE_DATE as BOEING33_3_0_, schedules0_.BOEING_COMPLETE_DATE as BOEING34_3_0_, schedules0_.BOEING_STATUS as BOEING35_3_0_, schedules0_.RESUBMIT_DATE as RESUBMIT36_3_0_, schedules0_.RESUBMIT_SCHEDULE_ID as RESUBMIT37_3_0_, schedules0_.DATA_MGMT_EST_DUE_DATE2 as DATA38_3_0_, schedules0_.DATA_MGMT_DUE_DATE2 as DATA39_3_0_, schedules0_.DATA_MGMT_SLIP_DATE_CNT2 as DATA40_3_0_, schedules0_.DATA_MGMT_COMPLETE_DATE2 as DATA41_3_0_, schedules0_.DATA_MGMT_SIG2 as DATA42_3_0_, schedules0_.DATA_MGMT_STATUS2 as DATA43_3_0_, schedules0_.CREATE_HOW as CREATE44_3_0_, schedules0_.CREATED_BY as CREATED45_3_0_, schedules0_.ARCHIVE_FLAG as ARCHIVE46_3_0_, schedules0_.MILESTONE_ID as MILESTONE47_3_0_, schedules0_.EICO_SIG as EICO48_3_0_, schedules0_.EICO_DUE_DATE as EICO49_3_0_, schedules0_.EICO_EST_DUE_DATE as EICO50_3_0_, schedules0_.EICO_SLIP_DATE_CNT as EICO51_3_0_, schedules0_.EICO_STATUS as EICO52_3_0_, schedules0_.EICO_COMPLETE_DATE as EICO53_3_0_, schedules0_.SUPPLIER_ECD_DATE as SUPPLIER54_3_0_, schedules0_.SUPPLIER_ECD_COMMENT as SUPPLIER55_3_0_, schedules0_.SUPPLIER_ECD_CNT as SUPPLIER56_3_0_, schedules0_.DATA_MGMT_ECD_DATE as DATA57_3_0_, schedules0_.DATA_MGMT_ECD_COMMENT as DATA58_3_0_, schedules0_.DATA_MGMT_ECD_CNT as DATA59_3_0_, schedules0_.PRIMARY_ECD_DATE as PRIMARY60_3_0_, schedules0_.PRIMARY_ECD_COMMENT as PRIMARY61_3_0_, schedules0_.PRIMARY_ECD_CNT as PRIMARY62_3_0_, schedules0_.VERIFIER_ECD_DATE as VERIFIER63_3_0_, schedules0_.VERIFIER_ECD_COMMENT as VERIFIER64_3_0_, schedules0_.VERIFIER_ECD_CNT as VERIFIER65_3_0_, schedules0_.BUYER_ECD_DATE as BUYER66_3_0_, schedules0_.BUYER_ECD_COMMENT as BUYER67_3_0_, schedules0_.BUYER_ECD_CNT as BUYER68_3_0_, schedules0_.sdrl_id as sdrl69_3_0_ from IDMS_SCHEDULE_TABLE schedules0_ where schedules0_.sdrl_id=?
|