Subversion Repositories bacoAlunos

Rev

Rev 202 | 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.CourseUnit" table="courseUnit" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</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="semestre" type="string"/>
        <property name="name" type="string"/>
        <property name="code" type="string"/>
        <property name="courseCode" type="string"/>
        <property name="courseName" type="string" />
        <property name="courseYear" type="string" />
        <property name="institutionCode" type="string" />

        <property name="objectives" type="text"/>
        <property name="programFilePath" type="string"/>

        <property name="status" type="boolean" />
       
        <set name="blogs" cascade="delete" lazy="true" order-by="name desc">
            <key column="courseUnit"/>
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitBlog" />
        </set>
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="false" outer-join="true"/>
        <set name="teachers" lazy="true" table="teachedunits">
            <key column="courseUnitId"/>
            <many-to-many class="pt.estgp.estgweb.domain.TeacherImpl" column="studentId"/>
        </set>
        <set name="students" lazy="true" table="subscribedunits">
            <key column="courseUnitId"/>
            <many-to-many class="pt.estgp.estgweb.domain.StudentImpl" column="studentId"/>
        </set>
        <set name="announcements" cascade="delete" lazy="true" order-by="saveDate desc">
            <key column="courseUnit"/>
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitAnnouncement" />
        </set>
        <set name="questions" cascade="delete" lazy="true" order-by="saveDate desc">
            <key column="courseUnit"/>
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitQuestion" />
        </set>
        <subclass name="pt.estgp.estgweb.domain.CourseUnitImpl" discriminator-value="CourseUnitImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseUnitQuestion" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</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="question" type="text"/>
        <property name="answer" type="text"/>
        <property name="answred" type="boolean" index="answredIndex"/>
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
        <subclass name="pt.estgp.estgweb.domain.CourseUnitQuestionImpl" discriminator-value="CourseUnitQuestionImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.CourseUnitAssignement" table="courseUnitAssignement" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</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="deliverDate" type="timestamp"/>
        <property name="deliverType" type="string"/>
        <property name="lateDelivers" type="boolean"/>
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
        <subclass name="pt.estgp.estgweb.domain.CourseUnitAssignementImpl" discriminator-value="CourseUnitAssignementImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.CourseUnitDeliverable" table="courseUnitDeliverable" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</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="deliverableFilePath" type="string"/>
        <many-to-one name="courseUnitAssignement" class="pt.estgp.estgweb.domain.CourseUnitAssignement" lazy="false" outer-join="true"/>
        <many-to-one name="student" class="pt.estgp.estgweb.domain.Student" lazy="false" outer-join="true"/>
        <subclass name="pt.estgp.estgweb.domain.CourseUnitDeliverableImpl" discriminator-value="CourseUnitDeliverableImpl"/>
    </class>

</hibernate-mapping>