Hallo,
ich versuche eine Rollenverwaltung in Spring aufzubauen und habe zu diesem Zweck drei Tabellen SysUser (für die Benutzer), SysRole (für die Benutzerrollen z.B. Admin,...) und SysUserRole (stellt die Beziehung zwischen beiden her)
Da ein Benutzer mehrere Rollen und eine Rolle mehrere Benutzer haben kann ist es eine many-to-many-Relation.
Code:
<hibernate-mapping>
<class name="com...model.SysRole" table="SysRole">
<id name="id" column="id">
<generator class="sequence">
<param name="sequence">seqSysRole</param>
</generator>
</id>
<property name="name" />
<set name="user" table="sysuserrole" inverse="true" cascade="all">
<key column="idsysrole"/>
<many-to-many class="com.....SysUser" column="idsysuser"/>
</set>
</class>
</hibernate-mapping>
Code:
<hibernate-mapping>
<class name="com...model.SysUser" table="SysUser">
<id name="id" column="id">
<generator class="sequence">
<param name="sequence">seqSysUser</param>
</generator>
</id>
<property name="username" />
<property name="firstname" />
<property name="lastname" />
<set name="role" table="sysuserrole">
<key column="idsysuser"/>
<many-to-many class="com...model.SysRole" column="idsysrole"/>
</set>
</class>
</hibernate-mapping>
Mein Problem ist nun, dass ich eine
Quote:
java.sql.BatchUpdateException: Hibernate ORA-01400: Einfügen von NULL in myDB.SysUserRole.ID
bekomme, wenn ich versuche Datensätze zu speichern, da ja keine SysUserRole.hbm.xml existiert, die das inkrementieren der ID steuert.
Nun meine Frage: wäre das Abändern der Mappings in index-many-to-many der richtige Weg? Welchen Typ anstatt Set sollte man dafür in diesem Fall dann benutzen?
Wäre für Tipps sehr dankbar.