wanted to put an example of what I'm talking about to help:
Code:
      <bag name="RoleAccessRights" lazy="true" cascade="none" generic="true" where="MEMBERSHIP_OBJECT_TYPE = 1 AND PROTECTED_OBJECT_TYPE = 3">
         <cache usage="read-write"/>
         <key column="PROTECTED_OBJECT_ID"/>
         <one-to-many class="TS.Core.Domain.AccessRights, TS.Core.Domain" />
      </bag>
      <bag name="UserAccessRights" lazy="true" cascade="none" generic="true" where="MEMBERSHIP_OBJECT_TYPE = 2 AND PROTECTED_OBJECT_TYPE = 3">
         <cache usage="read-write"/>
         <key column="PROTECTED_OBJECT_ID"/>
         <one-to-many class="TS.Core.Domain.AccessRights, TS.Core.Domain" />
      </bag>
So, there is no "inverse" side (can I have one if the other end of this represents many different "protected object types" i.e. keys to different database tables?).
Can I let NHibernate manage the cascading and caching?