The key column element generated in the mapping files of a many to many relation is bad.
Sample:
<hibernate-mapping default-cascade="none" xmlns="urn:nhibernate-mapping-2.0">
<!--
@Description: User-->
<class name="TraceOne.Core.Data.User, TraceOne.Core.Data" table="TRACEONE_USER">
<id name="Id" type="System.Int32" column="USER_ID" unsaved-value="0">
<generator class="native" />
</id>
<property name="Active" type="System.Boolean" column="ACTIVE" not-null="true" />
<property name="DateRelance" type="System.DateTime" column="DATE_RELANCE" not-null="false" />
<property name="Email" type="System.String" column="EMAIL" not-null="false" />
<property name="Login" type="System.String" column="LOGIN" not-null="false" />
<property name="Password" type="System.String" column="PASSWORD" not-null="false" />
<bag name="Groups" inverse="false" lazy="true" cascade="all-delete-orphan" table="TRACEONE_USER_GROUPS">
<key>
<column name="GROUP_ID" not-null="false" />
</key>
<many-to-many class="TraceOne.Core.Data.Group, TraceOne.Core.Data">
<column name="GROUP_ID" />
</many-to-many>
</bag>
</class>
</hibernate-mapping>
The lines:
<key>
<column name="GROUP_ID" not-null="false" />
</key>
must be:
<key>
<column name="USER_ID" not-null="false" />
</key>
Logged In: NO
Thanks, I'll double check this code and get it deployed ASAP.
Cheers
- Adam