Subversion Repositories bacoAlunos

Rev

Rev 428 | 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.OwnedDomainObject</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="username" type="string" unique="true" length="50" index="usernameIndex"/>
        <property name="name" type="string" index="nameIndex"/>
        <property name="email" type="string" index="emailIndex"/>
        <property name="roles" type="string" index="rolesIndex"/>
        <many-to-one name="image" column="image" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all"/>
        <subclass name="pt.estgp.estgweb.domain.GenericUserImpl">
            <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="password" type="string"/>
                <property name="address" type="text"/>
                <property name="zip" type="string"/>
                <property name="country" type="string"/>
                <property name="office" type="string"/>
                <property name="ext" type="string"/>
                <property name="outEmail" type="string"/>
                <property name="phonenumber" type="string"/>
                <property name="sex" type="string"/>
                <property name="bi" type="string"/>
                <property name="birthDate" type="date"/>
                <property name="pop3server" type="string"/>
                <property name="pop3username" type="string"/>
                <property name="pop3password" type="string"/>
                <property name="skype" type="string"/>
                <property name="gmail" type="string"/>
                <property name="msn" type="string"/>
                <property name="scholarDegree" type="string"/>
                <set name="groups" table="group_users" lazy="false">
                    <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>
                <set name="creatorRecords" lazy="true" order-by="recordId" table="creatorrecords">
                    <key column="creatorId"/>
                    <many-to-many class="pt.estgp.estgweb.domain.Record" column="recordId"/>
                </set>
                <set name="contributorRecords" lazy="true" order-by="recordId" table="contributorrecords">
                    <key column="contributorId"/>
                    <many-to-many class="pt.estgp.estgweb.domain.Record" column="recordId"/>
                </set>
                <set name="managedIdentifierCollectionsManager" lazy="true" table="managedidentifiercollectionmanagers">
                    <key column="managerId"/>
                    <many-to-many class="pt.estgp.estgweb.domain.ManagedIdentifierCollection" column="collectionId"/>
                </set>
                <set name="managedIdentifierCollectionsOwner" lazy="true" order-by="name asc">
                    <key column="owner"/>
                    <one-to-many class="pt.estgp.estgweb.domain.ManagedIdentifierCollection"/>
                </set>
                <subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl">
                    <subclass name="pt.estgp.estgweb.domain.UserManagedRoleImpl">
                        <subclass name="pt.estgp.estgweb.domain.SigesUser">
                            <meta attribute="extends">pt.estgp.estgweb.domain.UserManagedRoleImpl</meta>
                            <meta attribute="scope-class">public abstract</meta>
                            <property name="sigesCode" type="int"/>
                            <property name="areasBelong" type="string" index="areasBelongIndex"/>
                            <property name="mainArea" type="string" index="mainAreaIndex"/>
                            <property name="userNameNetpa" type="string"/>
                            <subclass name="pt.estgp.estgweb.domain.SigesUserImpl">
                                <subclass name="pt.estgp.estgweb.domain.Student">
                                    <meta attribute="extends">pt.estgp.estgweb.domain.SigesUserImpl</meta>
                                    <meta attribute="scope-class">public abstract</meta>
                                    <property name="localRemovedSubscribedUnits" type="string"/>
                                    <property name="localSubscribedUnits" type="string"/>
                                    <set name="subscribedUnits" lazy="true" order-by="courseUnitId" table="subscribedunits">
                                        <key column="studentId"/>
                                        <many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/>
                                    </set>
                                    <set name="courseUnitGrades" order-by="courseUnit asc" lazy="true">
                                        <key column="student"/>
                                        <one-to-many class="pt.estgp.estgweb.domain.CourseUnitGrade"/>
                                    </set>
                                    <set name="deliverables" lazy="true" order-by="deliverDate asc">
                                        <key column="student"/>
                                        <one-to-many class="pt.estgp.estgweb.domain.CourseUnitDeliverable"/>
                                    </set>
                                    <subclass name="pt.estgp.estgweb.domain.StudentImpl" discriminator-value="StudentImpl"/>
                                </subclass>
                                <subclass name="pt.estgp.estgweb.domain.Teacher">
                                    <meta attribute="extends">pt.estgp.estgweb.domain.SigesUserImpl</meta>
                                    <meta attribute="scope-class">public abstract</meta>
                                    <property name="academicName" type="string"/>
                                    <property name="employerName" type="string"/>
                                    <property name="unitCheck" type="boolean"/>
                                    <property name="academicDegree" type="string"/>
                                    <property name="localRemovedTeachedUnits" type="string"/>
                                    <set name="teachedUnits" lazy="true" order-by="courseUnitId" table="teachedunits">
                                        <key column="teacherId"/>
                                        <many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/>
                                    </set>
                                    <set name="coordinatorCourses" order-by="name asc" lazy="true">
                                        <key column="coordinator"/>
                                        <one-to-many class="pt.estgp.estgweb.domain.Course"/>
                                    </set>
                                    <set name="directorCourses" order-by="name asc" lazy="true">
                                        <key column="director"/>
                                        <one-to-many class="pt.estgp.estgweb.domain.Course"/>
                                    </set>
                                    <subclass name="pt.estgp.estgweb.domain.TeacherImpl" discriminator-value="TeacherImpl"/>
                                </subclass>
                            </subclass>
                        </subclass>
                    </subclass>
                </subclass>
            </subclass>
        </subclass>
    </class>
</hibernate-mapping>