Given the following collection mapping in an hbm mapping file:
<class name="Parent" table=" ParentTable">
<id name="ID" column="ID" type="Int32" unsaved-value="0">
<generator class="identity" />
</id>
<list name="SomeChildCollection" table=" SomeChildTable "
lazy="true" access="nosetter.camelcase-underscore">
<key column="ParentTableID" />
<list-index column="SequenceIndex"" />
<element column="SomeTextField" type="String" length="50" />
</list>
If, somehow, the values of SequenceIndex includes a gap (let's say, for a
specific ParentTableID of 20, there are records in SomeChildTable with a
SequenceIndex of 0, 1, and 5), NHibernate will fill the collection with
null objects for each one of the index values missing: object, object,
null, null, null, object
Why?
How do I stop this?
Granted, I don't specifically WANT there to be gaps. If there is a gap, it
must be some sort of data or concurrency issue. But I also don't actually
CARE if there are gaps. I just want the SeqienceIndex field to indicate
order. From a business logic perspective of my application, gaps or no
gaps makes no difference. I just don't want null objects in my collection.
I am using the list-index field to sort the fields in order, like if I were
using <bag order-by="SequenceIndex"> but where I want NHibernate to update
the index field instead of me dealing with it by hand.
Is this considered a feature? Will this ever be changed?
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/nhusers/52a7e5be-9c66-4fc8-ad51-b1a693f04250n%40googlegroups.com.