Rev 1766 |
Rev 1775 |
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.RepositoryFile" table="repositoryfile" 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"/>
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" outer-join="true" lazy="proxy"/>
<many-to-one name="lastVersion" class="pt.estgp.estgweb.domain.RepositoryFileVersion" outer-join="true" lazy="false"/>
<property name="accessControl" type="string"/>
<property name="sourceModule" type="pt.estgp.estgweb.services.data.types.AbstractRepositorySourceModuleEnhancedType"/>
<property name="deleted" type="boolean" index="deletedIndex"/>
<set name="repositoryFileVersions" lazy="true" order-by="saveDate desc">
<key column="repositoryFile"/>
<one-to-many class="pt.estgp.estgweb.domain.RepositoryFileVersionImpl"/>
</set>
<subclass name="pt.estgp.estgweb.domain.RepositoryFileImpl" discriminator-value="RepositoryFileImpl"/>
</class>
<class name="pt.estgp.estgweb.domain.RepositoryFileVersion" table="repositoryfileversion" 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"/>
<property name="saveDate" type="timestamp"/>
<property name="name" type="string"/>
<property name="contentType" type="string"/>
<property name="extension" type="string"/>
<property name="size" type="int"/>
<property name="description" type="text"/>
<property name="md5checksum" type="string" index="md5checksumIndex"/>
<!--When version already exist we refer here for it in order to avoid duplicate in FileSystem-->
<property name="mirrorFileVersionId" type="string"/>
<many-to-one name="repositoryFile" class="pt.estgp.estgweb.domain.RepositoryFileImpl" outer-join="true" lazy="false"/>
<subclass name="pt.estgp.estgweb.domain.RepositoryFileVersionImpl" discriminator-value="RepositoryFileVersionImpl"/>
</class>
<class name="pt.estgp.estgweb.domain.RepositoryDocument" table="repositorydocument" 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 source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="visible" type="boolean"/>
<property name="internalIdentifier" type="string"/>
<property name="title" type="string">
<column name="title" sql-type="TEXT"/>
</property>
<property name="subtitle" type="string"/>
<property name="description" type="string">
<column name="description" sql-type="TEXT"/>
</property>
<property name="subject" type="string">
<column name="subject" sql-type="TEXT"/>
</property>
<property name="publisher" type="string"/>
<property name="authorsJson" type="pt.estgp.estgweb.services.data.repositorydocuments.EnhancedDocumentPersons">
<column name="authorsJson" sql-type="TEXT"/>
</property>
<property name="contributorsJson" type="pt.estgp.estgweb.services.data.repositorydocuments.EnhancedDocumentPersons">
<column name="contributorsJson" sql-type="TEXT"/>
</property>
<property name="publishDate" type="timestamp"/>
<property name="closeDate" type="timestamp"/>
<property name="historyEdit" type="string">
<column name="historyEdit" sql-type="TEXT"/>
</property>
<many-to-one name="collection" class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" outer-join="true" lazy="false"/>
<many-to-one name="owner" class="pt.estgp.estgweb.domain.User" outer-join="true" lazy="false"/>
<set name="repositoryDocumentFiles" lazy="true" order-by="saveDate desc">
<key column="repositoryDocument"/>
<one-to-many class="pt.estgp.estgweb.domain.RepositoryDocumentFileImpl"/>
</set>
<subclass name="pt.estgp.estgweb.domain.RepositoryDocumentImpl" discriminator-value="RepositoryDocumentImpl"/>
</class>
<class name="pt.estgp.estgweb.domain.RepositoryDocumentCollection" table="repositorydocumentcollection" 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 source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="visible" type="boolean"/>
<property name="sortField" type="string">
<column name="sortField" default="0"/>
</property>
<property name="name" type="string"/>
<property name="description" type="string">
<column name="description" sql-type="TEXT"/>
</property>
<property name="legacyUrl" type="string"/>
<many-to-one name="parent" class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" outer-join="true" lazy="false"/>
<set name="childs" lazy="true" order-by="sortField asc">
<key column="parent"/>
<one-to-many class="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl"/>
</set>
<set name="collectionManagers" table="repositorycollectionmanagers">
<key column="collection_id"/>
<many-to-many column="user_id" class="pt.estgp.estgweb.domain.UserImpl"/>
</set>
<subclass name="pt.estgp.estgweb.domain.RepositoryDocumentCollectionImpl" discriminator-value="RepositoryDocumentCollectionImpl"/>
</class>
<class name="pt.estgp.estgweb.domain.RepositoryDocumentFile" table="repositorydocumentfile" 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 source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="visible" type="boolean"/>
<property name="title" type="string">
<column name="title" sql-type="TEXT"/>
</property>
<property name="description" type="string">
<column name="description" sql-type="TEXT"/>
</property>
<property name="repositoryFileProxy"
type="pt.estgp.estgweb.services.data.repositorydocuments.EnhancedRepositoryFileProxy">
<column name="repositoryStream" sql-type="VARCHAR(255)"/>
</property>
<!--<property name="repositoryStream" type="string" index="repositoryStreamIndex">
<column name="repositoryStream" sql-type="VARCHAR(255)"/>
</property>-->
<subclass name="pt.estgp.estgweb.domain.RepositoryDocumentFileImpl" discriminator-value="RepositoryDocumentFileImpl"/>
</class>
<class name="pt.estgp.estgweb.domain.RepositoryDocumentInterface" table="repositorydocumentinterface" 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 source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="visible" type="boolean"/>
<property name="slug" type="string"/>
<property name="adminDescription" type="string">
<column name="admin_description" sql-type="TEXT"/>
</property>
<property name="repositoryInterface" type="pt.estgp.estgweb.services.data.repositorydocuments.EnhancedRepositoryInterface">
<column name="repositoryInterfaceJson" sql-type="TEXT"/>
</property>
<subclass name="pt.estgp.estgweb.domain.RepositoryDocumentInterfaceImpl" discriminator-value="RepositoryDocumentInterfaceImpl"/>
</class>
</hibernate-mapping>