Subversion Repositories bacoAlunos

Rev

Rev 853 | 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.MetaProcess" table="meta_process" 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 source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="name" type="string"/>
        <property name="possibleTargets" type="text" />
        <property name="possiblePersons" type="text" />
        <property name="repositoryStream" type="string"/>
        <property name="description" type="text"/>
        <property name="category" type="string"/>
        <property name="subCategory" type="string"/>
        <property name="srcRole" type="string"/>
        <property name="targetRole" type="string"/>
        <many-to-one name="targetPerson" class="pt.estgp.estgweb.domain.User" lazy="false" outer-join="true"/>
        <set name="processes" cascade="none" lazy="true">
            <key column="meta_process_id"/>
            <one-to-many class="pt.estgp.estgweb.domain.Process"/>
        </set>
        <subclass name="pt.estgp.estgweb.domain.MetaProcessImpl" discriminator-value="MetaProcessImpl">
        </subclass>
    </class>

    <class name="pt.estgp.estgweb.domain.Process" table="process" 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 source="db"   name="updateDate" unsaved-value="null"/>
        <property name="openDate" type="timestamp"/>
        <property name="lastChangeDate" type="timestamp"/>
        <property name="closeDate" type="timestamp"/>
        <property name="nowState" type="string"/>

        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="no-proxy" outer-join="true"/>
        <many-to-one name="lastEvent" class="pt.estgp.estgweb.domain.ProcessEvent" lazy="false" outer-join="true"/>

        <many-to-one name="metaProcess" column="meta_process_id" class="pt.estgp.estgweb.domain.MetaProcess" lazy="false" outer-join="true"/>
        <set name="events" cascade="delete" lazy="true">
            <key column="process_id"/>
            <one-to-many class="pt.estgp.estgweb.domain.ProcessEvent"/>
        </set>
        <subclass name="pt.estgp.estgweb.domain.ProcessImpl" discriminator-value="ProcessImpl">
        </subclass>
    </class>

    <class name="pt.estgp.estgweb.domain.ProcessEvent" table="process_event" 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 source="db"   name="updateDate" unsaved-value="null"/>
        <property name="openDate" type="timestamp"/>
        <property name="acceptedDate" type="timestamp"/>
        <property name="dispatchedDate" type="timestamp"/>
        <property name="lastChangeDate" type="timestamp"/>
        <property name="closeDate" type="timestamp"/>

        <property name="nowState" type="string"/>
        <property name="accepted" type="boolean"/>
        <property name="destinationRole" type="string"/>

        <property name="notes" type="text"/>
        <property name="notesAccessLevel" type="string"/>
        <property name="notesAccessIdentifiers" type="string"/>
        <property name="notesAccessRoles" type="string"/>

        <property name="notesToStarter" type="text"/>



        <many-to-one name="process" column="process_id" class="pt.estgp.estgweb.domain.Process" lazy="no-proxy" outer-join="true" cascade="none"/>

        <many-to-one name="previousEvent" column="previous_event_id" class="pt.estgp.estgweb.domain.ProcessEvent" lazy="no-proxy" outer-join="false" cascade="none"/>
        <many-to-one name="nextEvent" column="next_event_id" class="pt.estgp.estgweb.domain.ProcessEvent" lazy="no-proxy" outer-join="false" cascade="delete"/>
        <!-- é o owner <many-to-one name="destinatedPerson" column="dest_user_id" class="pt.estgp.estgweb.domain.User" lazy="no-proxy" outer-join="false" cascade="none"/>-->
       <!--
      Nao e necessario porque temos o preciousEvent e com isso sabemos a source person
       <many-to-one name="sourcePerson" column="dest_user_id" class="pt.estgp.estgweb.domain.User" lazy="no-proxy" outer-join="false" cascade="none"/>
       -->
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="no-proxy" outer-join="true"/>
        <set name="files" cascade="none" lazy="true">
            <key column="process_event_id"/>
            <one-to-many class="pt.estgp.estgweb.domain.ProcessEventFile"/>
        </set>
        <subclass name="pt.estgp.estgweb.domain.ProcessEventImpl" discriminator-value="ProcessEventImpl">
        </subclass>
    </class>

    <class name="pt.estgp.estgweb.domain.ProcessEventFile" table="process_event_file" 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 source="db"   name="updateDate" unsaved-value="null"/>

        <property name="name" type="string"/>
        <property name="fileAccessLevel" type="string"/>
        <property name="oldFileAccessLevel" type="string"/>
        <property name="fileAccessIdentifiers" type="string"/>
        <property name="fileAccessRoles" type="string"/>

        <property name="importDate" type="timestamp"/>

        <property name="repositoryStream" type="string"/>
        <property name="notes" type="text"/>

        <property name="ghost" type="boolean"/>


        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="no-proxy" outer-join="true"/>
        <many-to-one name="processEvent" column="process_event_id" class="pt.estgp.estgweb.domain.ProcessEvent" lazy="false" outer-join="true"/>

        <subclass name="pt.estgp.estgweb.domain.ProcessEventFileImpl" discriminator-value="ProcessEventFileImpl">
        </subclass>
    </class>
</hibernate-mapping>