Hello, I am a newbee to nhibernate and I would like to get some help understanding many-to-many relationship mapping.
I previously came from a Java/WebObjects background and am used to an ORM based technology and I am trying to move to .NET as rapidly as possible. After a bunch of hairpulling I figured out the basic mapping between my tables in a "readonly" way, however, when I try to save to the tables I am getting errors. Kindly take a look and please give any advise. Thanks, Jerry My setup: VS2005 .Net 2.0 Oracle 10g Simple table structure is USERINFO<----->>USER_USERGROUP<<----->USERGROUP (SysUser class) (No class generated) (SysGroup class) PK oid PK oid_user PK oid PK oid_user_group I created the class files and mapping files and am able to fetch against the database. But when I try to save just a SysUser I get the following abbreviated error: Invalid index 4 for this OracleParameterCollection with Count=4 Mapping files: <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="ObjectModel.SysUser, ObjectModel" table="userinfo"> <id name="oid" column="oid" type="Decimal" length="22"> <generator class="sequence" /> </id> <property name="disabled" column="disabled" type="String" length="5"/> <property name="eMailAddress" column="email_address" type="String" length="65"/> <property name="firstName" column="first_name" type="String" length="100"/> <property name="lastLoginDate" column="last_login_date" type="DateTime" length="7"/> <property name="lastName" column="last_name" type="String" length="100"/> <property name="loginFailureCount" column="login_failure_count" type="Decimal" length="10"/> <property name="middleName" column="middle_name" type="String" length="100"/> <property name="password" column="password" type="String" length="65"/> <property name="phone" column="phone" type="String" length="65"/> <property name="sessionTimeout" column="session_timeout" type="Decimal" length="10"/> <property name="username" column="username" type="String" length="65"/> <bag name="userGroups" table="user_usergroup" cascade="save- update" lazy="false" inverse="true"> <key column ="oid_user" /> <many-to-many class="ObjectModel.SysUserGroup, ObjectModel" column="oid_user_group" /> </bag> </class> </hibernate-mapping> <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="ObjectModel.SysUserGroup, ObjectModel" table="usergroup"> <id name="oid" column="oid" type="Decimal" length="22"> <generator class="sequence" /> </id> <property name="name" column="group_name" type="String" length="65"/> <bag name="userRoles" table="usergroup_userrole" cascade="none" lazy="false" inverse="true"> <key column ="oid_user_group" /> <many-to-many class="ObjectModel.SysUserRole, ObjectModel" column="oid_user_role" /> </bag> <bag name="users" table="user_usergroup" cascade="save-update" lazy="false" inverse="true"> <key column ="oid_user_group" /> <many-to-many class="ObjectModel.SysUser, ObjectModel" column="oid_user" /> </bag> </class> </hibernate-mapping>