<?xml version="1.0" encoding="UTF-8"?>
<!--
     Attention: Generated code! Do not modify by hand!
     Generated by: hibernate.hbm.xml.vsl in andromda-hibernate-cartridge.
     
     Modifided by Andy Jones 10/3/06

  -->
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping default-cascade="none">
    <class name="fugeOM.Common.DescribableImpl" table="DESCRIBABLE" dynamic-insert="false" dynamic-update="false" node="Describable">
        <id name="id" type="java.lang.Long" unsaved-value="null" node="@id">
            <column name="ID" sql-type="BIGINT"/>
            <generator class="native">
            </generator>
        </id>
        <set name="_auditTrail" order-by="DESCRIBABLE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_auditTrail" embed-xml="true">
            <key foreign-key="AUDIT_DESCRIBABLE_FKC">
                <column name="DESCRIBABLE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.AuditImpl"/>
        </set>
        <set name="_descriptions" order-by="DESCRIBABLE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_descriptions" embed-xml="true">
            <key foreign-key="DESCRIPTION_DESCRIBABLE_FKC">
                <column name="DESCRIBABLE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Description.DescriptionImpl"/>
        </set>
        <many-to-one name="_security" class="fugeOM.Common.Audit.SecurityImpl" foreign-key="DESCRIBABLE__SECURITY_FKC" lazy="proxy" fetch="select" node="_security//Security_ref" embed-xml="false">
            <column name="_SECURITY_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <set name="_annotations" table="__ANNOTATIONS" order-by="_ANNOTATIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_TERM_DESCRIBABLES_FKC">
                <column name="DESCRIBABLES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="DESCRIBABLE__ANNOTATIONS_FKC"  node="_annotations//OntologyTerm_ref" embed-xml="false">
                <column name="_ANNOTATIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <many-to-one name="_uri" class="fugeOM.Common.Description.ExternalURIImpl" foreign-key="DESCRIBABLE__URI_FKC" cascade="delete" lazy="false" fetch="select" node="_uri//ExternalURI" embed-xml="true" >
            <column name="_URI_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <set name="_propertySets" order-by="DESCRIBABLE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_propertySets" embed-xml="true">
            <key foreign-key="NAME_VALUE_TYPE_DESCRIBABLE_FC">
                <column name="DESCRIBABLE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.NameValueTypeImpl"/>
        </set>
        <joined-subclass name="fugeOM.Bio.Investigation.FactorValueImpl" table="FACTOR_VALUE" dynamic-insert="false" dynamic-update="false" abstract="false" node="FactorValue">
                     <key foreign-key="FACTOR_VALUEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_dataPartitions" table="__DATA_PARTITIONS" order-by="_DATA_PARTITIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="DATA_PARTITION_FACTOR_VALUES_C">
                <column name="FACTOR_VALUES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DataPartitionImpl" foreign-key="FACTOR_VALUE__DATA_PARTITIONSC"  node="_dataPartitions//DataPartition_ref" embed-xml="false">
                <column name="_DATA_PARTITIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <many-to-one name="_value" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="FACTOR_VALUE__VALUE_FKC" lazy="proxy" fetch="select" node="_value//OntologyTerm_ref" embed-xml="false">
            <column name="_VALUE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.PartitionPairImpl" table="PARTITION_PAIR" dynamic-insert="false" dynamic-update="false" abstract="false" node="PartitionPair">
                     <key foreign-key="PARTITION_PAIRIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_partitionPairAlgorithm" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="PARTITION_PAIR__PARTITION_PAIC" cascade="delete" lazy="false" fetch="select" node="_partitionPairAlgorithm//Description" embed-xml="true" >
            <column name="_PARTITION_PAIR_ALGORITHM_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <set name="_inputPartitions" table="__INPUT_PARTITIONS" order-by="_INPUT_PARTITIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="PARTITION_IN_FKC">
                <column name="PARTITION_PAIRS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DataPartitionImpl" foreign-key="PARTITION_PAIR__INPUT_PARTITIC"  node="_inputPartitions//DataPartition_ref" embed-xml="false">
                <column name="_INPUT_PARTITIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_outputPartitions" table="__OUTPUT_PARTITIONS" order-by="_OUTPUT_PARTITIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="PARTITION_OUT_FKC">
                <column name="PARTITION_PAIRS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DataPartitionImpl" foreign-key="PARTITION_PAIR__OUTPUT_PARTITC"  node="_outputPartitions//DataPartition_ref" embed-xml="false">
                <column name="_OUTPUT_PARTITIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Material.MaterialMeasurementImpl" table="MATERIAL_MEASUREMENT" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="MATERIAL_MEASUREMENTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_measurement" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="MATERIAL_MEASUREMENT__MEASUREC" lazy="proxy" fetch="select" node="_measurement//OntologyTerm_ref" embed-xml="false">
            <column name="_MEASUREMENT_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <joined-subclass name="fugeOM.Bio.Material.GenericMatMeasImpl" table="GENERIC_MAT_MEAS" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericMatMeas">
                     <key foreign-key="GENERIC_MAT_MEASIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_genericMeasureMaterial" class="fugeOM.Bio.Material.MaterialImpl" foreign-key="GENERIC_MAT_MEAS__GENERIC_MEAC" lazy="proxy" fetch="select" node="_genericMeasureMaterial//Material_ref" embed-xml="false">
            <column name="_GENERIC_MEASURE_MATERIAL_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.AuditImpl" table="AUDIT" dynamic-insert="false" dynamic-update="false" abstract="false" node="Audit">
                     <key foreign-key="AUDITIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="date" type="java.util.Date" node="@date">
            <column name="DATE" not-null="true" unique="false" sql-type="DATETIME"/>
        </property>
        <property name="action" type="fugeOM.Common.Audit.AuditActionEnum" node="@action">
            <column name="ACTION" not-null="true" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <many-to-one name="_performer" class="fugeOM.Common.Audit.ContactImpl" foreign-key="AUDIT__PERFORMER_FKC" lazy="proxy" fetch="select" node="_performer//Contact_ref" embed-xml="false">
            <column name="_PERFORMER_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.ContactRoleImpl" table="CONTACT_ROLE" dynamic-insert="false" dynamic-update="false" abstract="false" node="ContactRole">
                     <key foreign-key="CONTACT_ROLEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_contact" class="fugeOM.Common.Audit.ContactImpl" foreign-key="CONTACT_ROLE__CONTACT_FKC" lazy="proxy" fetch="select" node="_contact//Contact_ref" embed-xml="false">
            <column name="_CONTACT_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_role" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="CONTACT_ROLE__ROLE_FKC" lazy="proxy" fetch="select" node="_role//OntologyTerm_ref" embed-xml="false">
            <column name="_ROLE_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.SecurityAccessImpl" table="SECURITY_ACCESS" dynamic-insert="false" dynamic-update="false" abstract="false" node="SecurityAccess">
                     <key foreign-key="SECURITY_ACCESSIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_accessGroup" class="fugeOM.Common.Audit.SecurityGroupImpl" foreign-key="SECURITY_ACCESS__ACCESS_GROUPC" lazy="proxy" fetch="select" node="_accessGroup//SecurityGroup_ref" embed-xml="false">
            <column name="_ACCESS_GROUP_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_accessRight" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="SECURITY_ACCESS__ACCESS_RIGHTC" lazy="proxy" fetch="select" node="_accessRight//OntologyTerm_ref" embed-xml="false">
            <column name="_ACCESS_RIGHT_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.References.DatabaseEntryImpl" table="DATABASE_ENTRY" dynamic-insert="false" dynamic-update="false" abstract="false" node="DatabaseEntry">
                     <key foreign-key="DATABASE_ENTRYIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="accession" type="java.lang.String" node="@accession">
            <column name="ACCESSION" not-null="true" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="accessionVersion" type="java.lang.String" node="@accessionVersion">
            <column name="ACCESSION_VERSION" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <many-to-one name="_database" class="fugeOM.Common.References.DatabaseImpl" foreign-key="DATABASE_ENTRY__DATABASE_FKC" lazy="proxy" fetch="select" node="_database//Database_ref" embed-xml="false">
            <column name="_DATABASE_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Description.DescriptionImpl" table="DESCRIPTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="Description">
                     <key foreign-key="DESCRIPTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="text" type="java.lang.String" node="@text">
            <column name="TEXT" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Description.ExternalURIImpl" table="EXTERNAL_U_R_I" dynamic-insert="false" dynamic-update="false" abstract="false" node="ExternalURI">
                     <key foreign-key="EXTERNAL_U_R_IIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="uri" type="java.net.URI" node="@uri">
            <column name="URI" not-null="true" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ParameterValueImpl" table="PARAMETER_VALUE" dynamic-insert="false" dynamic-update="false" abstract="false" node="ParameterValue">
                     <key foreign-key="PARAMETER_VALUEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_parameter" class="fugeOM.Common.Protocol.ParameterImpl" foreign-key="PARAMETER_VALUE__PARAMETER_FKC" lazy="proxy" fetch="select" node="_parameter//Parameter_ref" embed-xml="false">
            <column name="_PARAMETER_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_parameterValue" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PARAMETER_VALUE__PARAMETER_VAC" lazy="proxy" fetch="select" node="_parameterValue//OntologyTerm_ref" embed-xml="false">
            <column name="_PARAMETER_VALUE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ActionApplicationImpl" table="ACTION_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="ActionApplication">
                     <key foreign-key="ACTION_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_action" class="fugeOM.Common.Protocol.ActionImpl" foreign-key="ACTION_APPLICATION__ACTION_FKC" lazy="proxy" fetch="select" node="_action//Action_ref" embed-xml="false">
            <column name="_ACTION_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_actionDeviation" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="ACTION_APPLICATION__ACTION_DEC" cascade="delete" lazy="false" fetch="select" node="_actionDeviation//Description" embed-xml="true" >
            <column name="_ACTION_DEVIATION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_protocolApplicationReference" class="fugeOM.Common.Protocol.ProtocolApplicationImpl" foreign-key="ACTION_APPLICATION__PROTOCOL_C" lazy="proxy" fetch="select" node="_protocolApplicationReference//ProtocolApplication_ref" embed-xml="false" >
            <column name="_PROTOCOL_APPLICATION_REFER_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.IdentifiableImpl" table="IDENTIFIABLE" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="IDENTIFIABLEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="identifier" type="java.lang.String" node="@identifier">
            <column name="IDENTIFIER" not-null="true" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="name" type="java.lang.String" node="@name">
            <column name="NAME" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <set name="_databaseReferences" order-by="IDENTIFIABLE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_databaseReferences" embed-xml="true">
            <key foreign-key="DATABASE_ENTRY_IDENTIFIABLE_FC">
                <column name="IDENTIFIABLE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.References.DatabaseEntryImpl"/>
        </set>
        <set name="_bibliographicReferences" table="__BIBLIOGRAPHIC_REFERENCES" order-by="_BIBLIOGRAPHIC_REFERENCES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="BIBLIOGRAPHIC_REFERENCE_IDENTC">
                <column name="IDENTIFIABLES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.References.BibliographicReferenceImpl" foreign-key="IDENTIFIABLE__BIBLIOGRAPHIC_RC"  node="_bibliographicReferences//BibliographicReference_ref" embed-xml="false">
                <column name="_BIBLIOGRAPHIC_REFERENCES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <joined-subclass name="fugeOM.Bio.ConceptualMolecule.SequenceAnnotationImpl" table="SEQUENCE_ANNOTATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="SequenceAnnotation">
                     <key foreign-key="SEQUENCE_ANNOTATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_species" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="SEQUENCE_ANNOTATION__SPECIES_C" lazy="proxy" fetch="select" node="_species//OntologyTerm_ref" embed-xml="false">
            <column name="_SPECIES_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_type" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="SEQUENCE_ANNOTATION__TYPE_FKC" lazy="proxy" fetch="select" node="_type//OntologyTerm_ref" embed-xml="false">
            <column name="_TYPE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_polymerType" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="SEQUENCE_ANNOTATION__POLYMER_C" lazy="proxy" fetch="select" node="_polymerType//OntologyTerm_ref" embed-xml="false">
            <column name="_POLYMER_TYPE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.ConceptualMolecule.ConceptualMoleculeImpl" table="CONCEPTUAL_MOLECULE" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="CONCEPTUAL_MOLECULEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <joined-subclass name="fugeOM.Bio.ConceptualMolecule.SequenceImpl" table="SEQUENCE" dynamic-insert="false" dynamic-update="false" abstract="false" node="Sequence">
                     <key foreign-key="SEQUENCEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="length" type="int" node="@length">
            <column name="LENGTH" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="isApproximateLength" type="int" node="@isApproximateLength">
            <column name="IS_APPROXIMATE_LENGTH" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="isCircular" type="int" node="@isCircular">
            <column name="IS_CIRCULAR" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="sequence" type="int" node="@sequence">
            <column name="SEQUENCE" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="start" type="int" node="@start">
            <column name="START" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="end" type="int" node="@end">
            <column name="END" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <many-to-one name="_sequenceAnnotations" class="fugeOM.Bio.ConceptualMolecule.SequenceAnnotationImpl" foreign-key="SEQUENCE__SEQUENCE_ANNOTATIONC" lazy="proxy" fetch="select" node="_sequenceAnnotations//SequenceAnnotation_ref" embed-xml="false">
            <column name="_SEQUENCE_ANNOTATIONS_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Investigation.InvestigationImpl" table="INVESTIGATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="Investigation">
                     <key foreign-key="INVESTIGATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_investigationComponents" order-by="INVESTIGATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_investigationComponents" embed-xml="true">
            <key foreign-key="INVESTIGATION_COMPONENT_INVESC">
                <column name="INVESTIGATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Investigation.InvestigationComponentImpl"/>
        </set>
        <set name="_providers" order-by="INVESTIGATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_providers" embed-xml="true">
            <key foreign-key="CONTACT_ROLE_INVESTIGATION_FKC">
                <column name="INVESTIGATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactRoleImpl"/>
        </set>
        <set name="_summaryResults" table="__SUMMARY_RESULTS" order-by="_SUMMARY_RESULTS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="HIGHER_LEVEL_ANALYSIS_INVESTIC">
                <column name="INVESTIGATIONS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Investigation.HigherLevelAnalysisImpl" foreign-key="INVESTIGATION__SUMMARY_RESULTC"  node="_summaryResults//HigherLevelAnalysis_ref" embed-xml="false">
                <column name="_SUMMARY_RESULTS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_sourceMaterials" table="__SOURCE_MATERIALS" order-by="_SOURCE_MATERIALS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="MATERIAL_INVESTIGATIONS_FKC">
                <column name="INVESTIGATIONS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Material.MaterialImpl" foreign-key="INVESTIGATION__SOURCE_MATERIAC"  node="_sourceMaterials//Material_ref" embed-xml="false">
                <column name="_SOURCE_MATERIALS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_investigationTypes" table="__INVESTIGATION_TYPES" order-by="_INVESTIGATION_TYPES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_TERM_INVESTIGATIONS_C">
                <column name="INVESTIGATIONS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="INVESTIGATION__INVESTIGATION_C"  node="_investigationTypes//OntologyTerm_ref" embed-xml="false">
                <column name="_INVESTIGATION_TYPES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Investigation.InvestigationComponentImpl" table="INVESTIGATION_COMPONENT" dynamic-insert="false" dynamic-update="false" abstract="false" node="InvestigationComponent">
                     <key foreign-key="INVESTIGATION_COMPONENTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_factors" table="__FACTORS" order-by="_FACTORS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="FACTOR_INVESTIGATION_COMPONENC">
                <column name="INVESTIGATION_COMPONENTS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Investigation.FactorImpl" foreign-key="INVESTIGATION_COMPONENT__FACTC"  node="_factors//Factor_ref" embed-xml="false">
                <column name="_FACTORS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <many-to-one name="_replicateDescription" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="INVESTIGATION_COMPONENT__REPLC" cascade="delete" lazy="false" fetch="select" node="_replicateDescription//Description" embed-xml="true" >
            <column name="_REPLICATE_DESCRIPTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_qualityControlDescription" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="INVESTIGATION_COMPONENT__QUALC" cascade="delete" lazy="false" fetch="select" node="_qualityControlDescription//Description" embed-xml="true" >
            <column name="_QUALITY_CONTROL_DESCRIPTIO_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_normalizationDescription" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="INVESTIGATION_COMPONENT__NORMC" cascade="delete" lazy="false" fetch="select" node="_normalizationDescription//Description" embed-xml="true" >
            <column name="_NORMALIZATION_DESCRIPTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <set name="_allProtocolApplications" table="__ALL_PROTOCOL_APPLICATIONS" order-by="_ALL_PROTOCOL_APPLICATIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="PROTOCOL_APPLICATION_INVESTIGC">
                <column name="INVESTIGATION_COMPONENTS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.ProtocolApplicationImpl" foreign-key="INVESTIGATION_COMPONENT__ALL_C"  node="_allProtocolApplications//ProtocolApplication_ref" embed-xml="false">
                <column name="_ALL_PROTOCOL_APPLICATIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_componentDesignTypes" table="__COMPONENT_DESIGN_TYPES" order-by="_COMPONENT_DESIGN_TYPES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_TERM_INVESTIGATION_CC">
                <column name="INVESTIGATION_COMPONENTS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="INVESTIGATION_COMPONENT__COMPC"  node="_componentDesignTypes//OntologyTerm_ref" embed-xml="false">
                <column name="_COMPONENT_DESIGN_TYPES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Investigation.FactorImpl" table="FACTOR" dynamic-insert="false" dynamic-update="false" abstract="false" node="Factor">
                     <key foreign-key="FACTORIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_factorValues" order-by="FACTOR_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_factorValues" embed-xml="true">
            <key foreign-key="FACTOR_VALUE_FACTOR_FKC">
                <column name="FACTOR_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Investigation.FactorValueImpl"/>
        </set>
        <many-to-one name="_factorCategory" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="FACTOR__FACTOR_CATEGORY_FKC" lazy="proxy" fetch="select" node="_factorCategory//OntologyTerm_ref" embed-xml="false">
            <column name="_FACTOR_CATEGORY_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Investigation.HigherLevelAnalysisImpl" table="HIGHER_LEVEL_ANALYSIS" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="HIGHER_LEVEL_ANALYSISIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_supportingData" table="__SUPPORTING_DATA" order-by="_SUPPORTING_DATA_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="DATA_HIGHER_LEVEL_ANALYSES_FKC">
                <column name="HIGHER_LEVEL_ANALYSES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DataImpl" foreign-key="HIGHER_LEVEL_ANALYSIS__SUPPORC"  node="_supportingData//Data_ref" embed-xml="false">
                <column name="_SUPPORTING_DATA_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.DataImpl" table="DATA" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="DATAIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <list name="_dimension" table="__DIMENSION"  lazy="true" fetch="select" inverse="false">
            <key foreign-key="DIMENSION_DATAS_FKC">
                <column name="DATAS_FK" sql-type="BIGINT"/>
            </key>
            <list-index column="DATA__DIMENSION_IDX"/>
            <many-to-many class="fugeOM.Bio.Data.DimensionImpl" foreign-key="DATA__DIMENSION_FKC"  node="_dimension//Dimension_ref" embed-xml="false">
                <column name="_DIMENSION_FK" sql-type="BIGINT"/>
             </many-to-many>
        </list>
        <joined-subclass name="fugeOM.Bio.Data.InternalDataImpl" table="INTERNAL_DATA" dynamic-insert="false" dynamic-update="false" abstract="false" node="InternalData">
                     <key foreign-key="INTERNAL_DATAIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="storage" type="org.andromda.persistence.hibernate.usertypes.HibernateByteBlobType" node="@storage">
            <column name="STORAGE" not-null="false" unique="false" sql-type="LONGBLOB"/>
        </property>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.ExternalDataImpl" table="EXTERNAL_DATA" dynamic-insert="false" dynamic-update="false" abstract="false" node="ExternalData">
                     <key foreign-key="EXTERNAL_DATAIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_fileFormat" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="EXTERNAL_DATA__FILE_FORMAT_FKC" lazy="proxy" fetch="select" node="_fileFormat//OntologyTerm_ref" embed-xml="false">
            <column name="_FILE_FORMAT_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_externalFormatDocumentation" class="fugeOM.Common.Description.ExternalURIImpl" foreign-key="EXTERNAL_DATA__EXTERNAL_FORMAC" cascade="delete" lazy="false" fetch="select" node="_externalFormatDocumentation//ExternalURI" embed-xml="true" >
            <column name="_EXTERNAL_FORMAT_DOCUMENTAT_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.DimensionImpl" table="DIMENSION" dynamic-insert="false" dynamic-update="false" abstract="false" node="Dimension">
                     <key foreign-key="DIMENSIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_dimensionType" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="DIMENSION__DIMENSION_TYPE_FKC" lazy="proxy" fetch="select" node="_dimensionType//OntologyTerm_ref" embed-xml="false">
            <column name="_DIMENSION_TYPE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.DimensionElementImpl" table="DIMENSION_ELEMENT" dynamic-insert="false" dynamic-update="false" abstract="false" node="DimensionElement">
                     <key foreign-key="DIMENSION_ELEMENTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Data.DataPartitionImpl" table="DATA_PARTITION" dynamic-insert="false" dynamic-update="false" abstract="false" node="DataPartition">
                     <key foreign-key="DATA_PARTITIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_dimensionElementSet" table="__DIMENSION_ELEMENT_SET" order-by="_DIMENSION_ELEMENT_SET_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="DIMENSION_ELEMENT_DATA_PARTITC">
                <column name="DATA_PARTITIONS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DimensionElementImpl" foreign-key="DATA_PARTITION__DIMENSION_ELEC"  node="_dimensionElementSet//DimensionElement_ref" embed-xml="false">
                <column name="_DIMENSION_ELEMENT_SET_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <many-to-one name="_partitionedData" class="fugeOM.Bio.Data.DataImpl" foreign-key="DATA_PARTITION__PARTITIONED_DC" lazy="proxy" fetch="select" node="_partitionedData//Data_ref" embed-xml="false">
            <column name="_PARTITIONED_DATA_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Bio.Material.MaterialImpl" table="MATERIAL" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="MATERIALIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_contacts" order-by="MATERIAL_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_contacts" embed-xml="true">
            <key foreign-key="CONTACT_ROLE_MATERIAL_FKC">
                <column name="MATERIAL_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactRoleImpl"/>
        </set>
        <many-to-one name="_materialType" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="MATERIAL__MATERIAL_TYPE_FKC" lazy="proxy" fetch="select" node="_materialType//OntologyTerm_ref" embed-xml="false">
            <column name="_MATERIAL_TYPE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <set name="_characteristics" table="__CHARACTERISTICS" order-by="_CHARACTERISTICS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="MAT_CHAR_FKC">
                <column name="MATERIALS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="MATERIAL__CHARACTERISTICS_FKC"  node="_characteristics//OntologyTerm_ref" embed-xml="false">
                <column name="_CHARACTERISTICS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_qualityControlStatistics" table="__QUALITY_CONTROL_STATISTICS" order-by="_QUALITY_CONTROL_STATISTICS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="Material_QC_FKC">
                <column name="MATERIALS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="MATERIAL__QUALITY_CONTROL_STAC"  node="_qualityControlStatistics//OntologyTerm_ref" embed-xml="false">
                <column name="_QUALITY_CONTROL_STATISTICS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <joined-subclass name="fugeOM.Bio.Material.GenericMaterialImpl" table="GENERIC_MATERIAL" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericMaterial">
                     <key foreign-key="GENERIC_MATERIALIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.SecurityImpl" table="SECURITY" dynamic-insert="false" dynamic-update="false" abstract="false" node="Security">
                     <key foreign-key="SECURITYIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_owner" table="__OWNER" order-by="_OWNER_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="CONTACT_SECURITIES_FKC">
                <column name="SECURITIES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Audit.ContactImpl" foreign-key="SECURITY__OWNER_FKC"  node="_owner//Contact_ref" embed-xml="false">
                <column name="_OWNER_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_securityRights" order-by="SECURITY_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_securityRights" embed-xml="true">
            <key foreign-key="SECURITY_ACCESS_SECURITY_FKC">
                <column name="SECURITY_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.SecurityAccessImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.SecurityGroupImpl" table="SECURITY_GROUP" dynamic-insert="false" dynamic-update="false" abstract="false" node="SecurityGroup">
                     <key foreign-key="SECURITY_GROUPIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_members" table="__MEMBERS" order-by="_MEMBERS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="CONTACT_SECURITY_GROUPS_FKC">
                <column name="SECURITY_GROUPS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Audit.ContactImpl" foreign-key="SECURITY_GROUP__MEMBERS_FKC"  node="_members//Contact_ref" embed-xml="false">
                <column name="_MEMBERS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.ContactImpl" table="CONTACT" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="CONTACTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="address" type="java.lang.String" node="@address">
            <column name="ADDRESS" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="phone" type="java.lang.String" node="@phone">
            <column name="PHONE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="email" type="java.lang.String" node="@email">
            <column name="EMAIL" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="fax" type="java.lang.String" node="@fax">
            <column name="FAX" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="tollFreePhone" type="java.lang.String" node="@tollFreePhone">
            <column name="TOLL_FREE_PHONE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <joined-subclass name="fugeOM.Common.Audit.PersonImpl" table="PERSON" dynamic-insert="false" dynamic-update="false" abstract="false" node="Person">
                     <key foreign-key="PERSONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="lastName" type="java.lang.String" node="@lastName">
            <column name="LAST_NAME" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="firstName" type="java.lang.String" node="@firstName">
            <column name="FIRST_NAME" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="midInitials" type="java.lang.String" node="@midInitials">
            <column name="MID_INITIALS" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <set name="_affiliations" table="__AFFILIATIONS" order-by="_AFFILIATIONS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ORGANIZATION_PEOPLE_FKC">
                <column name="PEOPLE_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Audit.OrganizationImpl" foreign-key="PERSON__AFFILIATIONS_FKC"  node="_affiliations//Organization_ref" embed-xml="false">
                <column name="_AFFILIATIONS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Audit.OrganizationImpl" table="ORGANIZATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="Organization">
                     <key foreign-key="ORGANIZATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_parent" class="fugeOM.Common.Audit.OrganizationImpl" foreign-key="ORGANIZATION__PARENT_FKC" lazy="proxy" fetch="select" node="_parent//Organization_ref" embed-xml="false">
            <column name="_PARENT_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.References.BibliographicReferenceImpl" table="BIBLIOGRAPHIC_REFERENCE" dynamic-insert="false" dynamic-update="false" abstract="false" node="BibliographicReference">
                     <key foreign-key="BIBLIOGRAPHIC_REFERENCEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="authors" type="java.lang.String" node="@authors">
            <column name="AUTHORS" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="publication" type="java.lang.String" node="@publication">
            <column name="PUBLICATION" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="publisher" type="java.lang.String" node="@publisher">
            <column name="PUBLISHER" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="editor" type="java.lang.String" node="@editor">
            <column name="EDITOR" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="year" type="int" node="@year">
            <column name="YEAR" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <property name="volume" type="java.lang.String" node="@volume">
            <column name="VOLUME" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="issue" type="java.lang.String" node="@issue">
            <column name="ISSUE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="pages" type="java.lang.String" node="@pages">
            <column name="PAGES" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="title" type="java.lang.String" node="@title">
            <column name="TITLE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        </joined-subclass>
		<joined-subclass name="fugeOM.Common.References.DatabaseImpl" table="DATABASE_safe" dynamic-insert="false" dynamic-update="false" abstract="false" node="Database">
            <key foreign-key="DATABASEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="version" type="java.lang.String" node="@version">
            <column name="VERSION" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="URI" type="java.net.URI" node="@URI">
            <column name="U_R_I" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <set name="_databaseContact" order-by="DATABASE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_databaseContact" embed-xml="true">
            <key foreign-key="CONTACT_ROLE_DATABASE_FKC">
                <column name="DATABASE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactRoleImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ParameterImpl" table="PARAMETER" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="PARAMETERIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_defaultValue" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PARAMETER__DEFAULT_VALUE_FKC" lazy="proxy" fetch="select" node="_defaultValue//OntologyTerm_ref" embed-xml="false">
            <column name="_DEFAULT_VALUE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_parameterType" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PARAMETER__PARAMETER_TYPE_FKC" lazy="proxy" fetch="select" node="_parameterType//OntologyTerm_ref" embed-xml="false">
            <column name="_PARAMETER_TYPE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <joined-subclass name="fugeOM.Common.Protocol.GenericParameterImpl" table="GENERIC_PARAMETER" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericParameter">
                     <key foreign-key="GENERIC_PARAMETERIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ParameterizableImpl" table="PARAMETERIZABLE" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="PARAMETERIZABLEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_provider" order-by="PARAMETERIZABLE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_provider" embed-xml="true">
            <key foreign-key="CONTACT_ROLE_PARAMETERIZABLE_C">
                <column name="PARAMETERIZABLE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactRoleImpl"/>
        </set>
        <set name="_parameterizableTypes" table="__PARAMETERIZABLE_TYPES" order-by="_PARAMETERIZABLE_TYPES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_TERM_PARAMETERIZABLEC">
                <column name="PARAMETERIZABLES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PARAMETERIZABLE__PARAMETERIZAC"  node="_parameterizableTypes//OntologyTerm_ref" embed-xml="false">
                <column name="_PARAMETERIZABLE_TYPES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <joined-subclass name="fugeOM.Common.Protocol.ProtocolImpl" table="PROTOCOL" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="PROTOCOLIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_inputTypes" table="__PROTOCOL_INPUT_TYPES" order-by="_INPUT_TYPES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="P_INPUTTYPES_FK">
                <column name="PROTOCOLS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PROTOCOL__INPUT_TYPES_FKC"  node="_inputTypes//OntologyTerm_ref" embed-xml="false">
                <column name="_INPUT_TYPES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_outputTypes" table="__PROTOCOL_OUTPUT_TYPES" order-by="_OUTPUT_TYPES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="P_OUTPUTTYPES_FKC">
                <column name="PROTOCOLS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="PROTOCOL__OUTPUT_TYPES_FKC"  node="_outputTypes//OntologyTerm_ref" embed-xml="false">
                <column name="_OUTPUT_TYPES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <joined-subclass name="fugeOM.Common.Protocol.GenericProtocolImpl" table="GENERIC_PROTOCOL" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericProtocol">
                     <key foreign-key="GENERIC_PROTOCOLIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_genericActions" order-by="GENERIC_PROTOCOL_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_genericActions" embed-xml="true">
            <key foreign-key="GENERIC_ACTION_GENERIC_PROTOCC">
                <column name="GENERIC_PROTOCOL_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.GenericActionImpl"/>
        </set>
        <set name="_genericSoftware" table="__GENERIC_SOFTWARE" order-by="_GENERIC_SOFTWARE_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="GENERIC_SOFTWARE_GENERIC_PROTC">
                <column name="GENERIC_PROTOCOLS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.GenericSoftwareImpl" foreign-key="GENERIC_PROTOCOL__GENERIC_SOFC"  node="_genericSoftware//GenericSoftware_ref" embed-xml="false">
                <column name="_GENERIC_SOFTWARE_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_genericEquipment" table="__GENERIC_EQUIPMENT" order-by="_GENERIC_EQUIPMENT_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="GENERIC_EQUIPMENT_GENERIC_PROC">
                <column name="GENERIC_PROTOCOLS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.GenericEquipmentImpl" foreign-key="GENERIC_PROTOCOL__GENERIC_EQUC"  node="_genericEquipment//GenericEquipment_ref" embed-xml="false">
                <column name="_GENERIC_EQUIPMENT_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_protocolParameters" order-by="GENERIC_PROTOCOL_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_protocolParameters" embed-xml="true">
            <key foreign-key="GENERIC_PARAMETER_GENERIC_PROC">
                <column name="GENERIC_PROTOCOL_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.GenericParameterImpl"/>
        </set>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.SoftwareImpl" table="SOFTWARE" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="SOFTWAREIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="version" type="java.lang.String" node="@version">
            <column name="VERSION" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <set name="_equipment" table="__SOFTWARE2_EQUIPMENT" order-by="_EQUIPMENT_FK" lazy="true" fetch="select" inverse="true">
            <key foreign-key="EQUIPMENT__SOFTWARES_FKC">
                <column name="_SOFTWARES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.EquipmentImpl" foreign-key="SOFTWARE__EQUIPMENT_FKC"  node="_equipment//Equipment_ref" embed-xml="false">
                <column name="_EQUIPMENT_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <joined-subclass name="fugeOM.Common.Protocol.GenericSoftwareImpl" table="GENERIC_SOFTWARE" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericSoftware">
                     <key foreign-key="GENERIC_SOFTWAREIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_softwareParameters" order-by="GENERIC_SOFTWARE_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_softwareParameters" embed-xml="true">
            <key foreign-key="GENERIC_PARAMETER_GENERIC_SOFC">
                <column name="GENERIC_SOFTWARE_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.GenericParameterImpl"/>
        </set>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.EquipmentImpl" table="EQUIPMENT" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="EQUIPMENTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_softwares" table="__SOFTWARE2_EQUIPMENT" order-by="_SOFTWARES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="SOFTWARE__EQUIPMENT_FKC">
                <column name="_EQUIPMENT_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.SoftwareImpl" foreign-key="EQUIPMENT__SOFTWARES_FKC"  node="_softwares//Software_ref" embed-xml="false">
                <column name="_SOFTWARES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <many-to-one name="_model" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="EQUIPMENT__MODEL_FKC" lazy="proxy" fetch="select" node="_model//OntologyTerm_ref" embed-xml="false">
            <column name="_MODEL_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_make" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="EQUIPMENT__MAKE_FKC" lazy="proxy" fetch="select" node="_make//OntologyTerm_ref" embed-xml="false">
            <column name="_MAKE_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <joined-subclass name="fugeOM.Common.Protocol.GenericEquipmentImpl" table="GENERIC_EQUIPMENT" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericEquipment">
                     <key foreign-key="GENERIC_EQUIPMENTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_equipmentParameters" order-by="GENERIC_EQUIPMENT_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_equipmentParameters" embed-xml="true">
            <key foreign-key="GENERIC_PARAMETER_GENERIC_EQUC">
                <column name="GENERIC_EQUIPMENT_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.GenericParameterImpl"/>
        </set>
        <set name="_genericEquipmentParts" table="__GENERIC_EQUIPMENT_PARTS" order-by="_GENERIC_EQUIPMENT_PARTS_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="GENERIC_EQUIPMENT_GENERIC_EQUC">
                <column name="GENERIC_EQUIPMENTS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Protocol.GenericEquipmentImpl" foreign-key="GENERIC_EQUIPMENT__GENERIC_EQC"  node="_genericEquipmentParts//GenericEquipment_ref" embed-xml="false">
                <column name="_GENERIC_EQUIPMENT_PARTS_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ParameterizableApplicationImpl" table="PARAMETERIZABLE_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="PARAMETERIZABLE_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_parameterValues" order-by="PARAMETERIZABLE_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_parameterValues" embed-xml="true">
            <key foreign-key="PARAMETER_VALUE_PARAMETERIZABC">
                <column name="PARAMETERIZABLE_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.ParameterValueImpl"/>
        </set>
        <joined-subclass name="fugeOM.Common.Protocol.ProtocolApplicationImpl" table="PROTOCOL_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="PROTOCOL_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="activityDate" type="java.util.Date" node="@activityDate">
            <column name="ACTIVITY_DATE" not-null="false" unique="false" sql-type="DATETIME"/>
        </property>
        <set name="_partitionPairs" order-by="PROTOCOL_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_partitionPairs" embed-xml="true">
            <key foreign-key="PARTITION_PAIR_PROTOCOL_APPLIC">
                <column name="PROTOCOL_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Data.PartitionPairImpl"/>
        </set>
        <set name="_actionApplications" order-by="PROTOCOL_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_actionApplications" embed-xml="true">
            <key foreign-key="ACTION_APPLICATION_PROTOCOL_AC">
                <column name="PROTOCOL_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.ActionApplicationImpl"/>
        </set>
        <set name="_softwareApplications" order-by="PROTOCOL_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_softwareApplications" embed-xml="true">
            <key foreign-key="SOFTWARE_APPLICATION_PROTOCOLC">
                <column name="PROTOCOL_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.SoftwareApplicationImpl"/>
        </set>
        <set name="_equipmentApplications" order-by="PROTOCOL_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_equipmentApplications" embed-xml="true">
            <key foreign-key="EQUIPMENT_APPLICATION_PROTOCOC">
                <column name="PROTOCOL_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.EquipmentApplicationImpl"/>
        </set>
        <many-to-one name="_protocolDeviation" class="fugeOM.Common.Description.DescriptionImpl" foreign-key="PROTOCOL_APPLICATION__PROTOCOC" cascade="delete" lazy="false" fetch="select" node="_protocolDeviation//Description" embed-xml="true" >
            <column name="_PROTOCOL_DEVIATION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <set name="_performers" order-by="PROTOCOL_APPLICATION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_performers" embed-xml="true">
            <key foreign-key="CONTACT_ROLE_PROTOCOL_APPLICAC">
                <column name="PROTOCOL_APPLICATION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactRoleImpl"/>
        </set>
        <joined-subclass name="fugeOM.Common.Protocol.GenericProtocolApplicationImpl" table="GENERIC_PROTOCOL_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericProtocolApplication">
                     <key foreign-key="GENERIC_PROTOCOL_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_genericInputMaterials" order-by="GENERIC_PROTOCOL_APPLICATIO_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_genericInputMaterials" embed-xml="true">
            <key foreign-key="GENERIC_MAT_MEAS_GENERIC_PROTC">
                <column name="GENERIC_PROTOCOL_APPLICATIO_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Material.GenericMatMeasImpl"/>
        </set>
        <set name="_genericInputData" table="__GENERIC_INPUT_DATA" order-by="_GENERIC_INPUT_DATA_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="GPA_INDATA_FKC">
                <column name="GENERIC_PROTOCOL_APPLICATIO_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Bio.Data.DataImpl" foreign-key="DATA_INPUT_GPA_FKC"  node="_genericInputData//Data_ref" embed-xml="false">
                <column name="_GENERIC_INPUT_DATA_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        <set name="_genericOutputData" order-by="GENERIC_PROTOCOL_APPLICATIO_FK" lazy="true" fetch="select" inverse="false" node="_genericOutputData" embed-xml="true">
            <key foreign-key="GPA_OUTDATA_FKC">
                <column name="GENERIC_PROTOCOL_APPLICATIO_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Data.DataImpl"/>
        </set>
        <set name="_genericOutputMaterials" order-by="GENERIC_PROTOCOL_APPLICATIO_FK" lazy="true" fetch="select" inverse="false" node="_genericOutputMaterials" embed-xml="true">
            <key foreign-key="MATERIAL_GENERIC_PROTOCOL_APPC">
                <column name="GENERIC_PROTOCOL_APPLICATIO_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Material.MaterialImpl"/>
        </set>
        <many-to-one name="_genericProtocol" class="fugeOM.Common.Protocol.ProtocolImpl" foreign-key="GENERIC_PROTOCOL_APPLICATION_C" lazy="proxy" fetch="select" node="_genericProtocol//Protocol_ref" embed-xml="false">
            <column name="_GENERIC_PROTOCOL_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.EquipmentApplicationImpl" table="EQUIPMENT_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="EquipmentApplication">
                     <key foreign-key="EQUIPMENT_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="serialNumber" type="java.lang.String" node="@serialNumber">
            <column name="SERIAL_NUMBER" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <many-to-one name="_appliedEquipment" class="fugeOM.Common.Protocol.EquipmentImpl" foreign-key="EQUIPMENT_APPLICATION__APPLIEC" lazy="proxy" fetch="select" node="_appliedEquipment//Equipment_ref" embed-xml="false">
            <column name="_APPLIED_EQUIPMENT_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.SoftwareApplicationImpl" table="SOFTWARE_APPLICATION" dynamic-insert="false" dynamic-update="false" abstract="false" node="SoftwareApplication">
                     <key foreign-key="SOFTWARE_APPLICATIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_appliedSoftware" class="fugeOM.Common.Protocol.SoftwareImpl" foreign-key="SOFTWARE_APPLICATION__APPLIEDC" lazy="proxy" fetch="select" node="_appliedSoftware//Software_ref" embed-xml="false">
            <column name="_APPLIED_SOFTWARE_FK" not-null="true" sql-type="BIGINT"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Protocol.ActionImpl" table="ACTION" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="ACTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="actionOrdinal" type="int" node="@actionOrdinal">
            <column name="ACTION_ORDINAL" not-null="false" unique="false" sql-type="INTEGER"/>
        </property>
        <joined-subclass name="fugeOM.Common.Protocol.GenericActionImpl" table="GENERIC_ACTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="GenericAction">
                     <key foreign-key="GENERIC_ACTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="actionText" type="java.lang.String" node="@actionText">
            <column name="ACTION_TEXT" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <many-to-one name="_actionTerm" class="fugeOM.Common.Ontology.OntologyTermImpl" foreign-key="GENERIC_ACTION__ACTION_TERM_FC" lazy="proxy" fetch="select" node="_actionTerm//OntologyTerm_ref" embed-xml="false">
            <column name="_ACTION_TERM_FK" not-null="false" sql-type="BIGINT"/>
        </many-to-one>
        <many-to-one name="_genericProtocolReference" class="fugeOM.Common.Protocol.ProtocolImpl" foreign-key="GENERIC_ACTION__GENERIC_PROTOC" lazy="proxy" fetch="select" node="_genericProtocolReference//Protocol_ref" embed-xml="false" >
            <column name="_GENERIC_PROTOCOL_REFERENCE_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Ontology.OntologyTermImpl" table="ONTOLOGY_TERM" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="ONTOLOGY_TERMIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="ontologyURI" type="java.net.URI" node="@ontologyURI">
            <column name="ONTOLOGY_U_R_I" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="ontologyTermURI" type="java.net.URI" node="@ontologyTermURI">
            <column name="ONTOLOGY_TERM_U_R_I" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <joined-subclass name="fugeOM.Common.Ontology.OntologyIndividualImpl" table="ONTOLOGY_INDIVIDUAL" dynamic-insert="false" dynamic-update="false" abstract="false" node="OntologyIndividual">
                     <key foreign-key="ONTOLOGY_INDIVIDUALIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_properties" table="__PROPERTIES" order-by="_PROPERTIES_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_PROPERTY_ONTOLOGY_INC">
                <column name="ONTOLOGY_INDIVIDUALS_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyPropertyImpl" foreign-key="ONTOLOGY_INDIVIDUAL__PROPERTIC"  node="_properties//OntologyProperty_ref" embed-xml="false">
                <column name="_PROPERTIES_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Ontology.OntologyPropertyImpl" table="ONTOLOGY_PROPERTY" dynamic-insert="false" dynamic-update="false" abstract="true">
                     <key foreign-key="ONTOLOGY_PROPERTYIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <joined-subclass name="fugeOM.Common.Ontology.DataPropertyImpl" table="DATA_PROPERTY" dynamic-insert="false" dynamic-update="false" abstract="false" node="DataProperty">
                     <key foreign-key="DATA_PROPERTYIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="dataType" type="java.lang.String" node="@dataType">
            <column name="DATA_TYPE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="value" type="java.lang.String" node="@value">
            <column name="VALUE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.Ontology.ObjectPropertyImpl" table="OBJECT_PROPERTY" dynamic-insert="false" dynamic-update="false" abstract="false" node="ObjectProperty">
                     <key foreign-key="OBJECT_PROPERTYIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_content" table="__CONTENT" order-by="_CONTENT_FK" lazy="true" fetch="select" inverse="false">
            <key foreign-key="ONTOLOGY_INDIVIDUAL_OBJECT_PRC">
                <column name="OBJECT_PROPERTIES_FK" sql-type="BIGINT"/>
            </key>
            <many-to-many class="fugeOM.Common.Ontology.OntologyIndividualImpl" foreign-key="OBJECT_PROPERTY__CONTENT_FKC"  node="_content//OntologyIndividual_ref" embed-xml="false">
                <column name="_CONTENT_FK" sql-type="BIGINT"/>
             </many-to-many>
        </set>
        </joined-subclass>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.FuGErootImpl" table="FU_G_EROOT" dynamic-insert="false" dynamic-update="false" abstract="false" node="FuGEroot">
                     <key foreign-key="FU_G_EROOTIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <many-to-one name="_materialCollection" class="fugeOM.Collection.MaterialCollectionImpl" foreign-key="FU_G_EROOT__MATERIAL_COLLECTIC" cascade="delete" lazy="false" fetch="select" node="_materialCollection//MaterialCollection" embed-xml="true" >
            <column name="_MATERIAL_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_conceptualMoleculeCollection" class="fugeOM.Collection.ConceptualMoleculeCollectionImpl" foreign-key="FU_G_EROOT__CONCEPTUAL_MOLECUC" cascade="delete" lazy="false" fetch="select" node="_conceptualMoleculeCollection//ConceptualMoleculeCollection" embed-xml="true" >
            <column name="_CONCEPTUAL_MOLECULE_COLLEC_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_referenceableCollection" class="fugeOM.Collection.ReferenceableCollectionImpl" foreign-key="FU_G_EROOT__REFERENCEABLE_COLC" cascade="delete" lazy="false" fetch="select" node="_referenceableCollection//ReferenceableCollection" embed-xml="true" >
            <column name="_REFERENCEABLE_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_investigationCollection" class="fugeOM.Collection.InvestigationCollectionImpl" foreign-key="FU_G_EROOT__INVESTIGATION_COLC" cascade="delete" lazy="false" fetch="select" node="_investigationCollection//InvestigationCollection" embed-xml="true" >
            <column name="_INVESTIGATION_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_dataCollection" class="fugeOM.Collection.DataCollectionImpl" foreign-key="FU_G_EROOT__DATA_COLLECTION_FC" cascade="delete" lazy="false" fetch="select" node="_dataCollection//DataCollection" embed-xml="true" >
            <column name="_DATA_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_auditCollection" class="fugeOM.Collection.AuditCollectionImpl" foreign-key="FU_G_EROOT__AUDIT_COLLECTION_C" cascade="delete" lazy="false" fetch="select" node="_auditCollection//AuditCollection" embed-xml="true" >
            <column name="_AUDIT_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_protocolCollection" class="fugeOM.Collection.ProtocolCollectionImpl" foreign-key="FU_G_EROOT__PROTOCOL_COLLECTIC" cascade="delete" lazy="false" fetch="select" node="_protocolCollection//ProtocolCollection" embed-xml="true" >
            <column name="_PROTOCOL_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        <many-to-one name="_ontologyCollection" class="fugeOM.Collection.OntologyCollectionImpl" foreign-key="FU_G_EROOT__ONTOLOGY_COLLECTIC" cascade="delete" lazy="false" fetch="select" node="_ontologyCollection//OntologyCollection" embed-xml="true" >
            <column name="_ONTOLOGY_COLLECTION_FK" not-null="false" sql-type="BIGINT" unique="true"/>
        </many-to-one>
        </joined-subclass>
        </joined-subclass>
        <joined-subclass name="fugeOM.Common.NameValueTypeImpl" table="NAME_VALUE_TYPE" dynamic-insert="false" dynamic-update="false" abstract="false" node="NameValueType">
                     <key foreign-key="NAME_VALUE_TYPEIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <property name="name" type="java.lang.String" node="@name">
            <column name="NAME" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="value" type="java.lang.String" node="@value">
            <column name="VALUE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        <property name="type" type="java.lang.String" node="@type">
            <column name="TYPE" not-null="false" unique="false" sql-type="VARCHAR(255) BINARY"/>
        </property>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.DataCollectionImpl" table="DATA_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="DataCollection">
                     <key foreign-key="DATA_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_allDimensions" order-by="DATA_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allDimensions" embed-xml="true">
            <key foreign-key="DIMENSION_DATA_COLLECTION_FKC">
                <column name="DATA_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Data.DimensionImpl"/>
        </set>
        <set name="_higherLevelAnalyses" order-by="DATA_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_higherLevelAnalyses" embed-xml="true">
            <key foreign-key="HIGHER_LEVEL_ANALYSIS_DATA_COC">
                <column name="DATA_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Investigation.HigherLevelAnalysisImpl"/>
        </set>
        <set name="_allData" order-by="DATA_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allData" embed-xml="true">
            <key foreign-key="DATA_DATA_COLLECTION_FKC">
                <column name="DATA_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Data.DataImpl"/>
        </set>
        <set name="_allDataPartitions" order-by="DATA_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allDataPartitions" embed-xml="true">
            <key foreign-key="DATA_PARTITION_DATA_COLLECTIOC">
                <column name="DATA_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Data.DataPartitionImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.ConceptualMoleculeCollectionImpl" table="CONCEPTUAL_MOLECULE_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="ConceptualMoleculeCollection">
                     <key foreign-key="CONCEPTUAL_MOLECULE_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_conceptualMolecules" order-by="CONCEPTUAL_MOLECULE_COLLECT_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_conceptualMolecules" embed-xml="true">
            <key foreign-key="CONCEPTUAL_MOLECULE_CONCEPTUAC">
                <column name="CONCEPTUAL_MOLECULE_COLLECT_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.ConceptualMolecule.ConceptualMoleculeImpl"/>
        </set>
        <set name="_allSequenceAnnotations" order-by="CONCEPTUAL_MOLECULE_COLLECT_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allSequenceAnnotations" embed-xml="true">
            <key foreign-key="SEQUENCE_ANNOTATION_CONCEPTUAC">
                <column name="CONCEPTUAL_MOLECULE_COLLECT_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.ConceptualMolecule.SequenceAnnotationImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.ReferenceableCollectionImpl" table="REFERENCEABLE_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="ReferenceableCollection">
                     <key foreign-key="REFERENCEABLE_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_allBibliographicReferences" order-by="REFERENCEABLE_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allBibliographicReferences" embed-xml="true">
            <key foreign-key="BIBLIOGRAPHIC_REFERENCE_REFERC">
                <column name="REFERENCEABLE_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.References.BibliographicReferenceImpl"/>
        </set>
        <set name="_databases" order-by="REFERENCEABLE_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_databases" embed-xml="true">
            <key foreign-key="DATABASE_REFERENCEABLE_COLLECC">
                <column name="REFERENCEABLE_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.References.DatabaseImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.InvestigationCollectionImpl" table="INVESTIGATION_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="InvestigationCollection">
                     <key foreign-key="INVESTIGATION_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_investigations" order-by="INVESTIGATION_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_investigations" embed-xml="true">
            <key foreign-key="INVESTIGATION_INVESTIGATION_CC">
                <column name="INVESTIGATION_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Investigation.InvestigationImpl"/>
        </set>
        <set name="_factorCollection" order-by="INVESTIGATION_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_factorCollection" embed-xml="true">
            <key foreign-key="FACTOR_INVESTIGATION_COLLECTIC">
                <column name="INVESTIGATION_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Investigation.FactorImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.OntologyCollectionImpl" table="ONTOLOGY_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="OntologyCollection">
                     <key foreign-key="ONTOLOGY_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_ontologyTerms" order-by="ONTOLOGY_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_ontologyTerms" embed-xml="true">
            <key foreign-key="ONTOLOGY_TERM_ONTOLOGY_COLLECC">
                <column name="ONTOLOGY_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Ontology.OntologyTermImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.MaterialCollectionImpl" table="MATERIAL_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="MaterialCollection">
                     <key foreign-key="MATERIAL_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_materials" order-by="MATERIAL_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_materials" embed-xml="true">
            <key foreign-key="MATERIAL_MATERIAL_COLLECTION_C">
                <column name="MATERIAL_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Bio.Material.MaterialImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.ProtocolCollectionImpl" table="PROTOCOL_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="ProtocolCollection">
                     <key foreign-key="PROTOCOL_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_protocols" order-by="PROTOCOL_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_protocols" embed-xml="true">
            <key foreign-key="PROTOCOL_PROTOCOL_COLLECTION_C">
                <column name="PROTOCOL_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.ProtocolImpl"/>
        </set>
        <set name="_allSoftwares" order-by="PROTOCOL_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allSoftwares" embed-xml="true">
            <key foreign-key="SOFTWARE_PROTOCOL_COLLECTION_C">
                <column name="PROTOCOL_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.SoftwareImpl"/>
        </set>
        <set name="_protocolApplications" order-by="PROTOCOL_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_protocolApplications" embed-xml="true">
            <key foreign-key="PROTOCOL_APPLICATION_PROTOCOLC">
                <column name="PROTOCOL_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.ProtocolApplicationImpl"/>
        </set>
        <set name="_allEquipment" order-by="PROTOCOL_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allEquipment" embed-xml="true">
            <key foreign-key="EQUIPMENT_PROTOCOL_COLLECTIONC">
                <column name="PROTOCOL_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Protocol.EquipmentImpl"/>
        </set>
        </joined-subclass>
        <joined-subclass name="fugeOM.Collection.AuditCollectionImpl" table="AUDIT_COLLECTION" dynamic-insert="false" dynamic-update="false" abstract="false" node="AuditCollection">
                     <key foreign-key="AUDIT_COLLECTIONIFKC">
                <column name="ID" sql-type="BIGINT"/>
            </key>
        <set name="_securityCollection" order-by="AUDIT_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_securityCollection" embed-xml="true">
            <key foreign-key="SECURITY_AUDIT_COLLECTION_FKC">
                <column name="AUDIT_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.SecurityImpl"/>
        </set>
        <set name="_allContacts" order-by="AUDIT_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_allContacts" embed-xml="true">
            <key foreign-key="CONTACT_AUDIT_COLLECTION_FKC">
                <column name="AUDIT_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.ContactImpl"/>
        </set>
        <set name="_securityGroups" order-by="AUDIT_COLLECTION_FK" lazy="false" fetch="select" inverse="false" cascade="delete" node="_securityGroups" embed-xml="true">
            <key foreign-key="SECURITY_GROUP_AUDIT_COLLECTIC">
                <column name="AUDIT_COLLECTION_FK" sql-type="BIGINT"/>
            </key>
            <one-to-many class="fugeOM.Common.Audit.SecurityGroupImpl"/>
        </set>
        </joined-subclass>
    </class>
</hibernate-mapping>