Subversion Repositories bacoAlunos

Rev

Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
       PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="pt.estgp.estgweb.domain.GenericUser" table="user" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long">
            <generator class="native"/>
        </id>
        <discriminator column="discrimitator"/>
        <timestamp name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="superuser" type="boolean"/>
        <property name="name" type="string"/>
        <subclass name="pt.estgp.estgweb.domain.Group">
            <meta attribute="scope-class">public abstract</meta>
            <set name="users" table="group_users">
                <key column="group_id"/>
                <many-to-many column="user_id" class="pt.estgp.estgweb.domain.User"/>
            </set>
            <subclass name="pt.estgp.estgweb.domain.GroupImpl" discriminator-value="GroupImpl"/>
        </subclass>
        <subclass name="pt.estgp.estgweb.domain.User">
            <meta attribute="scope-class">public abstract</meta>
            <property name="username" type="string" unique="true" length="50"/>
            <property name="password" type="string"/>
            <property name="roles" type="text"/>
            <property name="address" type="text"/>
            <property name="zip" type="string"/>
            <property name="country" type="string"/>
            <property name="email" type="string"/>
            <property name="phonenumber" type="string"/>
            <set name="groups" table="group_users">
                <key column="user_id"/>
                <many-to-many column="group_id" class="pt.estgp.estgweb.domain.Group"/>
            </set>
            <set name="courses" order-by="course.name asc" lazy="true">
                <key column="user_id"/>
                <one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/>
            </set>
            <subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl"/>
        </subclass>
    </class>
</hibernate-mapping>