Subversion Repositories bacoAlunos

Rev

Rev 1860 | Go to most recent revision | 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.Page" table="page" 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="saveDate" type="timestamp"/>
        <property name="title" type="string"/>
        <property name="code" type="string" unique="true"/>
        <many-to-one name="pageSectionMaster" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false"/>
        <subclass name="pt.estgp.estgweb.domain.PageImpl" discriminator-value="PageImpl"/>
    </class>
    <class name="pt.estgp.estgweb.domain.PageContent" table="page_content" 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="saveDate" type="timestamp"/>
        <property name="systemAuxiliaryCode" type="string"/>
        <property name="title" type="string"/>
        <property name="acl" type="string">
            <column name="acl" sql-type="MEDIUMTEXT"/>
        </property>
        <property name="visible" type="boolean" />
        <property name="description" type="string">
            <column name="description" sql-type="TEXT"/>
        </property>
        <property name="accessPolicyClass" type="string"/>
        <property name="slug" type="string"/>
        <property name="path" type="string">
            <column name="path" sql-type="TEXT"/>
        </property>
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="proxy" outer-join="false"/>
        <many-to-one name="parent" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false">
            <column name="parentId"/>
        </many-to-one>
        <subclass name="pt.estgp.estgweb.domain.PageContentImpl" abstract="true">
            <meta attribute="scope-class">public abstract</meta>
            <subclass name="pt.estgp.estgweb.domain.PageSection" abstract="true">
                <meta attribute="extends">pt.estgp.estgweb.domain.PageContentImpl</meta>
                <meta attribute="scope-class">public abstract</meta>
                <property name="topLayoutSection" type="boolean">
                    <column name="topLayoutSection" default="true"/>
                </property>

                <list name="childs" cascade="none" lazy="true">
                    <key column="parentId"/>
                    <index column="i"/>
                    <one-to-many class="pt.estgp.estgweb.domain.PageContent"/>
                </list>
                <set name="courseUnits" cascade="none" lazy="true" order-by="saveDate asc">
                    <key column="unitContents"/>
                    <one-to-many class="pt.estgp.estgweb.domain.CourseUnit" />
                </set>
                <set name="courses" cascade="none" lazy="true" order-by="saveDate asc">
                    <key column="courseContents"/>
                    <one-to-many class="pt.estgp.estgweb.domain.Course" />
                </set>
                <subclass name="pt.estgp.estgweb.domain.PageSectionImpl" discriminator-value="PageSectionImpl"/>
            </subclass>
            <subclass name="pt.estgp.estgweb.domain.PageExternalObject" abstract="true">
                <meta attribute="extends">pt.estgp.estgweb.domain.PageContentImpl</meta>
                <meta attribute="scope-class">public abstract</meta>
                <subclass name="pt.estgp.estgweb.domain.PageExternalObjectImpl" abstract="true">
                    <meta attribute="scope-class">public abstract</meta>
                    <subclass name="pt.estgp.estgweb.domain.PageExternalUrl" abstract="true">
                        <meta attribute="extends">pt.estgp.estgweb.domain.PageExternalObjectImpl</meta>
                        <meta attribute="scope-class">public abstract</meta>
                        <property name="url" type="string" />
                        <subclass name="pt.estgp.estgweb.domain.PageExternalUrlImpl" discriminator-value="PageExternalUrlImpl"/>
                    </subclass>
                    <subclass name="pt.estgp.estgweb.domain.PageRepositoryFile" abstract="true">
                        <meta attribute="extends">pt.estgp.estgweb.domain.PageExternalObjectImpl</meta>
                        <meta attribute="scope-class">public abstract</meta>
                        <property name="repositoryFileProxy" insert="false" update="false"
                                 type="pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.EnhancedRepositoryFileProxy" >
                            <meta attribute="property-type">pt.estgp.estgweb.domain.typesgenservices.repositorydocuments.RepositoryFileProxy</meta>
                            <column name="repositoryId" sql-type="VARCHAR(255)"/>
                        </property>
                        <property name="repositoryId" type="string" />
                        <subclass name="pt.estgp.estgweb.domain.PageRepositoryFileImpl" discriminator-value="PageRepositoryFileImpl"/>
                    </subclass>
                    <subclass name="pt.estgp.estgweb.domain.PageText" abstract="true">
                        <meta attribute="extends">pt.estgp.estgweb.domain.PageExternalObjectImpl</meta>
                        <meta attribute="scope-class">public abstract</meta>
                        <property name="html" type="string" >
                            <column name="html" sql-type="text"/>
                        </property>
                        <subclass name="pt.estgp.estgweb.domain.PageTextImpl" discriminator-value="PageTextImpl"/>
                    </subclass>
                </subclass>
            </subclass>
        </subclass>
    </class>
</hibernate-mapping>