Code:
<hibernate-mapping>
<class name="Role" dynamic-update="false"
dynamic-insert="false">
<id
name="title"
column="title"
type="java.lang.String"
length="100"
>
<generator class="assigned">
</generator>
</id>
<set
name="users"
table="User_Role"
lazy="true"
inverse="false"
cascade="none"
sort="unsorted">
<key
column="title">
</key>
<many-to-many
class="User"
column="userName"
outer-join="auto"/>
</set>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class
name="User"
dynamic-update="false"
dynamic-insert="false">
<id
name="userName"
column="userName"
type="java.lang.String"
length="100">
<generator class="assigned">
</generator>
</id>
<set
name="roles"
table="User_Role"
lazy="true"
inverse="false"
cascade="all"
sort="unsorted"
order-by="userName">
<key
column="userName">
</key>
<many-to-many
class="Role"
column="title"
outer-join="auto"/>
</set>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class
name="Report"
dynamic-update="false"
dynamic-insert="false">
<id
name="reportId"
column="reportId"
type="java.lang.Integer">
<generator class="identity">
</generator>
</id>
<property
name="description"
type="java.lang.String"
update="true"
insert="true"
access="property"
column="description"
not-null="true"
/>
<set
name="roles"
table="Report_Role"
lazy="true"
inverse="false"
cascade="all"
sort="unsorted"
order-by="fullyQualifiedName">
<key
column="reportId"
>
</key>
<many-to-many
class="Role"
column="title"
outer-join="auto"
/>
</set>
</class>
</hibernate-mapping>
[/code]