| I have two many-to-many relationships in my example, and the first one does not find any of the linked data, while the second one in the same program works perfectly. When I run the offending query directly in the database, it does find a row in the database, but as listed below, Hibernate says that no rows were found for Room 109. The only change I made to get the query to run was to replace ? with '109'.
 Any thoughts?
 
 <class name="net.tripleTech.dao.RoomVO" table="RoomObject">
 <id name="roomID" type="string" unsaved-value="null">
 <column name="RoomID" sql-type="varchar(100)" not-null="true"/>
 <generator class="assigned"/>
 </id>
 <property name="buildingID"/>
 <property name="plantID"/>
 <property name="roomShortDescription"/>
 <property name="roomLongDescription"/>
 <property name="score"/>
 <property name="lowTCPLimit"/>
 <property name="highTCPLimit"/>
 <property name="lowTCPLimitNoSuppression"/>
 <property name="highTCPLimitNoSuppression"/>
 <set name="detectionGroups" table="DetectionGroupRoomLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="DetectionGroupID" class="net.tripleTech.dao.DetectionGroupVO"/>
 </set>
 <set name="suppression" table="SuppressionRoomLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="SuppressionID" class="net.tripleTech.dao.SuppressionVO"/>
 </set>
 
 <set name="fireWatches" table="RoomFireWatchLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="FireWatchID" class="net.tripleTech.dao.FireWatchVO"/>
 </set>
 <set name="barriers" table="BarrierRoomLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="BarrierID" class="net.tripleTech.dao.BarrierVO"/>
 </set>
 <set name="barrierImpairments" table="BarrierRoomLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="BarrierID" class="net.tripleTech.dao.ImpairmentBarrierVO"/>
 </set>
 
 <set name="suppressionImpairments" table="SuppressionRoomLink" cascade="save-update">
 <key column="RoomID"/>
 <many-to-many column="SuppressionID" class="net.tripleTech.dao.ImpairmentSuppressionVO"/>
 </set>
 <set name="detectors" table="detectionRoomView" inverse="true" cascade="none" >
 <key column="RoomID"/>
 <many-to-many column="DetectionID" class="net.tripleTech.dao.DetectionVO"/>
 </set>
 <set name="detectionImpairments" table="ImpairmentDetectionRoomView" inverse="true" cascade="none" >
 <key column="RoomID"/>
 <many-to-many column="ImpairmentID" class="net.tripleTech.dao.ImpairmentDetectionVO"/>
 </set>
 <set name="fireWatchRules" >
 <key column = "RoomID"/>
 <one-to-many class = "net.tripleTech.dao.FireWatchRuleLookupVO"/>
 </set>
 
 </class>
 
 
 
 
 <class name="net.tripleTech.dao.BarrierVO" table="BarrierLookup">
 <id name="barrierID" type="string" unsaved-value="null">
 <column name="BarrierID" sql-type="varchar(100)" not-null="true"/>
 <generator class="assigned"/>
 </id>
 <property name="barrierName"/>
 <property name="appendix"/>
 <property name="subComponentTypeID"/>
 <property name="componentStatusID"/>
 <set name="rooms" table="BarrierRoomLink">
 <key column="BarrierID"/>
 <many-to-many column="RoomID" class="net.tripleTech.dao.RoomVO"/>
 </set>
 </class>
 
 
 
 2004-02-05 23:17:34,505 [Thread-4] DEBUG net.sf.hibernate.impl.SessionImpl   - initializing collection [net.tripleTech.dao.RoomVO.barriers#109                 ]
 2004-02-05 23:17:34,505 [Thread-4] DEBUG net.sf.hibernate.impl.BatcherImpl   - about to open: 0 open PreparedStatements, 0 open ResultSets
 2004-02-05 23:17:34,505 [Thread-4] DEBUG net.sf.hibernate.impl.BatcherImpl   - prepared statement get: select barrierr0_.BarrierID as BarrierID__, barrierr0_.RoomID as RoomID__, barrierv1_.BarrierID as BarrierID0_, barrierv1_.barrierName as barrierN2_0_, barrierv1_.appendix as appendix0_, barrierv1_.subComponentTypeID as subCompo4_0_, barrierv1_.componentStatusID as componen5_0_ from BarrierRoomLink barrierr0_, BarrierLookup barrierv1_ where barrierr0_.RoomID=? and barrierr0_.BarrierID=barrierv1_.BarrierID
 2004-02-05 23:17:34,505 [Thread-4] DEBUG net.sf.hibernate.impl.BatcherImpl   - preparing statement
 2004-02-05 23:17:34,521 [Thread-4] DEBUG net.sf.hibernate.type.StringType   - binding '109                 ' to parameter: 1
 2004-02-05 23:17:34,536 [Thread-4] DEBUG net.sf.hibernate.loader.Loader   - result set contains (possibly empty) collection: [net.tripleTech.dao.RoomVO.barriers#109                 ]
 2004-02-05 23:17:34,536 [Thread-4] DEBUG net.sf.hibernate.impl.SessionImpl   - uninitialized collection: initializing
 2004-02-05 23:17:34,536 [Thread-4] DEBUG net.sf.hibernate.loader.Loader   - processing result set
 2004-02-05 23:17:34,536 [Thread-4] DEBUG net.sf.hibernate.loader.Loader   - done processing result set ([b]0 rows[/b])
 2004-02-05 23:17:34,536 [Thread-4] DEBUG net.sf.hibernate.impl.BatcherImpl   - done closing: 0 open PreparedStatements, 0 open ResultSets
 2004-02-05 23:17:34,552 [Thread-4] DEBUG net.sf.hibernate.impl.BatcherImpl   - closing statement
 2004-02-05 23:17:34,552 [Thread-4] DEBUG net.sf.hibernate.loader.Loader   - total objects hydrated: 0
 2004-02-05 23:17:34,552 [Thread-4] DEBUG net.sf.hibernate.impl.SessionImpl   - 1 collections were found in result set
 2004-02-05 23:17:34,552 [Thread-4] DEBUG net.sf.hibernate.impl.SessionImpl   - collection fully initialized: [net.tripleTech.dao.RoomVO.barriers#109                 ]
 2004-02-05 23:17:34,552 [Thread-4] DEBUG net.sf.hibernate.impl.SessionImpl   - 1 collections initialized
 
 
 
 
 
 <class name="net.tripleTech.dao.RoleVO" table="RoleObject">
 <id name="roleID">
 <generator class="uuid.hex"/>
 </id>
 <property name="roleName"/>
 <set name="rights" table="RoleRightLink" >
 <key column="RoleID"/>
 <many-to-many column="RightID" class="net.tripleTech.dao.RightVO"/>
 </set>
 </class>
 
 <class name="net.tripleTech.dao.RightVO" table="RightObject">
 <id name="rightID">
 <generator class="uuid.hex"/>
 </id>
 <property name="rightName"/>
 </class>
 
 
 2004-02-05 22:52:07,502 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - initializing collection [net.tripleTech.dao.RoleVO.rights#20]
 2004-02-05 22:52:07,502 [main] DEBUG net.sf.hibernate.impl.BatcherImpl   - about to open: 0 open PreparedStatements, 0 open ResultSets
 2004-02-05 22:52:07,502 [main] DEBUG net.sf.hibernate.impl.BatcherImpl   - prepared statement get: select rolerigh0_.RightID as RightID__, rolerigh0_.RoleID as RoleID__, rightvo1_.rightID as rightID0_, rightvo1_.rightName as rightName0_ from RoleRightLink rolerigh0_, RightObject rightvo1_ where rolerigh0_.RoleID=? and rolerigh0_.RightID=rightvo1_.rightID
 2004-02-05 22:52:07,502 [main] DEBUG net.sf.hibernate.impl.BatcherImpl   - preparing statement
 2004-02-05 22:52:07,518 [main] DEBUG net.sf.hibernate.type.StringType   - binding '20' to parameter: 1
 2004-02-05 22:52:07,518 [main] DEBUG net.sf.hibernate.loader.Loader   - result set contains (possibly empty) collection: [net.tripleTech.dao.RoleVO.rights#20]
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - uninitialized collection: initializing
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.loader.Loader   - processing result set
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.type.StringType   - returning '24' as column: rightID0_
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.loader.Loader   - result row: 24
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.loader.Loader   - Initializing object from ResultSet: 24
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.loader.Loader   - Hydrating entity: net.tripleTech.dao.RightVO#24
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.type.StringType   - returning 'AdministerUsers' as column: rightName0_
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.type.StringType   - returning '20' as column: RoleID__
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.loader.Loader   - found row of collection: [net.tripleTech.dao.RoleVO.rights#20]
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - reading row
 2004-02-05 22:52:07,534 [main] DEBUG net.sf.hibernate.type.StringType   - returning '24' as column: RightID__
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - loading [net.tripleTech.dao.RightVO#24]
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - attempting to resolve [net.tripleTech.dao.RightVO#24]
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.impl.SessionImpl   - resolved object in session cache [net.tripleTech.dao.RightVO#24]
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.loader.Loader   - done processing result set (1 rows)
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.impl.BatcherImpl   - done closing: 0 open PreparedStatements, 0 open ResultSets
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.impl.BatcherImpl   - closing statement
 2004-02-05 22:52:07,549 [main] DEBUG net.sf.hibernate.loader.Loader   - total objects hydrated: 1
 
 
 |