Array
<class name="com.jason.collections.array.Person" table="PERSON">
<id name="id" column="PERSON_ID">
<generator class="native"/>
</id>
<property name="name" column="PERSON_NAME"/>
<array name="events" cascade="all" fetch="join" >
<key column="PERSON_ID"/>
<list-index column="idx"/> <!--list-index, index...-->
<one-to-many class="com.jason.collections.array.Event"/>
<!--<element column="title" type="string" />-->
</array>
</class>
<class name="com.jason.collections.array.Event" table="EVENT">
<id name="id" column="EVENT_ID">
<generator class="native"/>
</id>
<property name="title"/>
</class>
<!--
CREATE TABLE person (person_Id int PRIMARY KEY, person_Name varchar(20))
CREATE TABLE Event (Event_Id int PRIMARY KEY, PERSON_ID int not null, idx int not null, title varchar2(20))
-->
Bag
<class name="com.jason.collections.bag.Person" table="PERSON">
<id name="id" column="PERSON_ID">
<generator class="native"/>
</id>
<property name="name" column="PERSON_NAME"/>
<bag name="events" cascade="all">
<key column="PERSON_ID"/>
<one-to-many class="com.jason.collections.bag.Event"/>
<!--<element column="title" type="string" />-->
</bag>
</class>
<class name="com.jason.collections.bag.Event" table="EVENT">
<id name="id" column="EVENT_ID">
<generator class="native"/>
</id>
<property name="title"/>
</class>
<!--
CREATE TABLE person (person_Id int PRIMARY KEY, person_Name varchar(20))
CREATE TABLE Event (Event_Id int PRIMARY KEY, PERSON_ID int not null, title varchar2(20))
-->
Set
<class name="com.jason.collections.set.Person" table="PERSON">
<id name="id" column="PERSON_ID">
<generator class="native"/>
</id>
<property name="name" column="PERSON_NAME"/>
<set name="events" cascade="all">
<key column="PERSON_ID"/>
<one-to-many class="com.jason.collections.set.Event"/>
<!--<element column="title" type="string" />-->
</set>
</class>
<class name="com.jason.collections.set.Event" table="EVENT">
<id name="id" column="EVENT_ID">
<generator class="native"/>
</id>
<property name="title"/>
</class>
<!--
CREATE TABLE person (person_Id int PRIMARY KEY, person_Name varchar(20))
CREATE TABLE Event (Event_Id int PRIMARY KEY, PERSON_ID int not null, title varchar2(20))
-->
Map<class name="com.jason.collections.map.Person" table="PERSON">
<id name="id" column="PERSON_ID">
<generator class="native"/>
</id>
<property name="name" column="PERSON_NAME"/>
<map name="events" table="event">
<key column="PERSON_ID"/>
<index column="name" type="string"/>
<element column="title" type="string"/>
</map>
</class>
<!--
CREATE TABLE person (person_Id int PRIMARY KEY, person_Name varchar(20))
CREATE TABLE Event (Event_Id int PRIMARY KEY, person_Id int, name varchar2(20), title varchar2(20))
-->