Subversion Repositories bacoAlunos

Rev

Rev 1549 | Rev 1554 | 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.Questionario" table="questionario" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="description" type="string"/>
        <property name="logStates" type="text">
            <column name="logStates" sql-type="MEDIUMTEXT"/>
        </property>
        <property name="year" type="string"/>
        <property name="semestre" type="string"/>
        <property name="iAnswersProcessor" type="string"/>
        <property name="p1" type="string"/>
        <property name="p2" type="string"/>
        <property name="p3" type="string"/>
        <property name="p4" type="string"/>
        <property name="p5" type="string"/>
        <property name="p6" type="string"/>
        <property name="p7" type="string"/>
        <property name="p8" type="string"/>
        <property name="p9" type="string"/>
        <property name="p10" type="string"/>
        <property name="p11" type="string"/>
        <property name="p12" type="string"/>
        <property name="p13" type="string"/>
        <property name="p14" type="string"/>
        <property name="p15" type="string"/>
        <property name="p16" type="string"/>
        <property name="p17" type="string"/>
        <property name="p18" type="string"/>
        <property name="p19" type="string"/>
        <property name="p20" type="string"/>
        <property name="p21" type="string"/>
        <property name="p22" type="string"/>
        <property name="p23" type="string"/>
        <property name="p24" type="string"/>
        <property name="p25" type="string"/>
        <property name="p26" type="string"/>
        <property name="p27" type="string"/>
        <property name="p28" type="string"/>
        <property name="p29" type="string"/>
        <property name="p30" type="string"/>
        <property name="p31" type="string"/>
        <property name="p32" type="string"/>
        <property name="p33" type="string"/>
        <property name="p34" type="string"/>
        <property name="p35" type="string"/>
        <property name="p36" type="string"/>
        <property name="p37" type="string"/>
        <property name="p38" type="string"/>
        <property name="p39" type="string"/>
        <property name="p40" type="string"/>
        <property name="t1" type="string"/>
        <property name="t2" type="string"/>
        <property name="t3" type="string"/>
        <property name="t4" type="string"/>
        <property name="t5" type="string"/>
        <property name="t6" type="string"/>
        <property name="t7" type="string"/>
        <property name="t8" type="string"/>
        <property name="t9" type="string"/>
        <property name="t10" type="string"/>

        <property name="p1Group" type="string"/>
        <property name="p2Group" type="string"/>
        <property name="p3Group" type="string"/>
        <property name="p4Group" type="string"/>
        <property name="p5Group" type="string"/>
        <property name="p6Group" type="string"/>
        <property name="p7Group" type="string"/>
        <property name="p8Group" type="string"/>
        <property name="p9Group" type="string"/>
        <property name="p10Group" type="string"/>
        <property name="p11Group" type="string"/>
        <property name="p12Group" type="string"/>
        <property name="p13Group" type="string"/>
        <property name="p14Group" type="string"/>
        <property name="p15Group" type="string"/>
        <property name="p16Group" type="string"/>
        <property name="p17Group" type="string"/>
        <property name="p18Group" type="string"/>
        <property name="p19Group" type="string"/>
        <property name="p20Group" type="string"/>
        <property name="p21Group" type="string"/>
        <property name="p22Group" type="string"/>
        <property name="p23Group" type="string"/>
        <property name="p24Group" type="string"/>
        <property name="p25Group" type="string"/>
        <property name="p26Group" type="string"/>
        <property name="p27Group" type="string"/>
        <property name="p28Group" type="string"/>
        <property name="p29Group" type="string"/>
        <property name="p30Group" type="string"/>
        <property name="p31Group" type="string"/>
        <property name="p32Group" type="string"/>
        <property name="p33Group" type="string"/>
        <property name="p34Group" type="string"/>
        <property name="p35Group" type="string"/>
        <property name="p36Group" type="string"/>
        <property name="p37Group" type="string"/>
        <property name="p38Group" type="string"/>
        <property name="p39Group" type="string"/>
        <property name="p40Group" type="string"/>
        <property name="t1Group" type="string"/>
        <property name="t2Group" type="string"/>
        <property name="t3Group" type="string"/>
        <property name="t4Group" type="string"/>
        <property name="t5Group" type="string"/>
        <property name="t6Group" type="string"/>
        <property name="t7Group" type="string"/>
        <property name="t8Group" type="string"/>
        <property name="t9Group" type="string"/>
        <property name="t10Group" type="string"/>

        <property name="introHtml" type="string">
            <column name="introHtml" sql-type="text"/>
        </property>

        <property name="group1Title" type="string">
            <column name="group1Title" sql-type="text"/>
        </property>
        <property name="group2Title" type="string">
            <column name="group2Title" sql-type="text"/>
        </property>
        <property name="group3Title" type="string">
            <column name="group3Title" sql-type="text"/>
        </property>
        <property name="group4Title" type="string">
            <column name="group4Title" sql-type="text"/>
        </property>
        <property name="group5Title" type="string">
            <column name="group5Title" sql-type="text"/>
        </property>
        <property name="group6Title" type="string">
            <column name="group6Title" sql-type="text"/>
        </property>
        <property name="group7Title" type="string">
            <column name="group7Title" sql-type="text"/>
        </property>
        <property name="group8Title" type="string">
            <column name="group8Title" sql-type="text"/>
        </property>
        <property name="group9Title" type="string">
            <column name="group9Title" sql-type="text"/>
        </property>
        <property name="group10Title" type="string">
            <column name="group10Title" sql-type="text"/>
        </property>


        <property name="group1Code" type="string"/>
        <property name="group2Code" type="string"/>
        <property name="group3Code" type="string"/>
        <property name="group4Code" type="string"/>
        <property name="group5Code" type="string"/>
        <property name="group6Code" type="string"/>
        <property name="group7Code" type="string"/>
        <property name="group8Code" type="string"/>
        <property name="group9Code" type="string"/>
        <property name="group10Code" type="string"/>





        <!--State flow info-->
        <!--
           Possible states:
           CREATED   -> in prototype edition
           ASSIGNED -> All tipologies prototypes created and assigned to student answers
           PROCESSING -> Impossible to change or edit prototypes, possible to answer
           CLOSED -> Impossible to answer
           STATISTICS1
       -->
        <property name="state" type="string">
            <column name="state" default="'CREATED'"/>
        </property>
        <property name="substate" type="string"/>

        <property name="answerGenerationTaskId" type="long">
            <column name="answer_generation_task_id" default="0"/>
        </property>

        <property name="answerOlapGenerationTaskId" type="long">
            <column name="answer_olap_generation_task_id" default="0"/>
        </property>

        <!--Modulo de Pedagogico-->
        <property name="courseSelectionTaskId" type="long">
            <column name="course_selection_task_id" default="0"/>
        </property>
        <!--Modulo de Pedagogico-->

        <many-to-one name="questionarioHistoryDrive" class="pt.estgp.estgweb.domain.QuestionarioHistoryDrive" lazy="proxy" outer-join="false"/>

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

    <class name="pt.estgp.estgweb.domain.QuestionarioHistoryDrive" table="questionario_history_drive" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="codeName" type="string" unique="true"/>
        <property name="description" type="string"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioHistoryDriveImpl" discriminator-value="QuestionarioHistoryDriveImpl"/>
    </class>


    <class name="pt.estgp.estgweb.domain.QuestionarioRespostaRequisitada" table="questionario_resposta_requisitada" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <many-to-one name="questionario" class="pt.estgp.estgweb.domain.Questionario" lazy="proxy" outer-join="false"/>
        <many-to-one name="user" class="pt.estgp.estgweb.domain.User" lazy="proxy" outer-join="false"/>
        <many-to-one name="resposta" class="pt.estgp.estgweb.domain.QuestionarioResposta" lazy="false" outer-join="true"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioRespostaRequisitadaImpl" discriminator-value="QuestionarioRespostaRequisitadaImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.QuestionarioResposta" table="questionario_resposta" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>

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

        <property name="timeStart" type="long"/>
        <property name="timeEnd" type="long"/>
        <property name="totalTime" type="long"/>


        <property name="r1" type="string"/>
        <property name="r2" type="string"/>
        <property name="r3" type="string"/>
        <property name="r4" type="string"/>
        <property name="r5" type="string"/>
        <property name="r6" type="string"/>
        <property name="r7" type="string"/>
        <property name="r8" type="string"/>
        <property name="r9" type="string"/>
        <property name="r10" type="string"/>
        <property name="r11" type="string"/>
        <property name="r12" type="string"/>
        <property name="r13" type="string"/>
        <property name="r14" type="string"/>
        <property name="r15" type="string"/>
        <property name="r16" type="string"/>
        <property name="r17" type="string"/>
        <property name="r18" type="string"/>
        <property name="r19" type="string"/>
        <property name="r20" type="string"/>
        <property name="r21" type="string"/>
        <property name="r22" type="string"/>
        <property name="r23" type="string"/>
        <property name="r24" type="string"/>
        <property name="r25" type="string"/>
        <property name="r26" type="string"/>
        <property name="r27" type="string"/>
        <property name="r28" type="string"/>
        <property name="r29" type="string"/>
        <property name="r30" type="string"/>
        <property name="r31" type="string"/>
        <property name="r32" type="string"/>
        <property name="r33" type="string"/>
        <property name="r34" type="string"/>
        <property name="r35" type="string"/>
        <property name="r36" type="string"/>
        <property name="r37" type="string"/>
        <property name="r38" type="string"/>
        <property name="r39" type="string"/>
        <property name="r40" type="string"/>

        <property name="rt1" type="string"/>
        <property name="rt2" type="string"/>
        <property name="rt3" type="string"/>
        <property name="rt4" type="string"/>
        <property name="rt5" type="string"/>
        <property name="rt6" type="string"/>
        <property name="rt7" type="string"/>
        <property name="rt8" type="string"/>
        <property name="rt9" type="string"/>
        <property name="rt10" type="string"/>


        <!--Tempo levado para responder-->
        <property name="timeTakenR1" type="long"/>
        <property name="timeTakenR2" type="long"/>
        <property name="timeTakenR3" type="long"/>
        <property name="timeTakenR4" type="long"/>
        <property name="timeTakenR5" type="long"/>
        <property name="timeTakenR6" type="long"/>
        <property name="timeTakenR7" type="long"/>
        <property name="timeTakenR8" type="long"/>
        <property name="timeTakenR9" type="long"/>
        <property name="timeTakenR10" type="long"/>
        <property name="timeTakenR11" type="long"/>
        <property name="timeTakenR12" type="long"/>
        <property name="timeTakenR13" type="long"/>
        <property name="timeTakenR14" type="long"/>
        <property name="timeTakenR15" type="long"/>
        <property name="timeTakenR16" type="long"/>
        <property name="timeTakenR17" type="long"/>
        <property name="timeTakenR18" type="long"/>
        <property name="timeTakenR19" type="long"/>
        <property name="timeTakenR20" type="long"/>
        <property name="timeTakenR21" type="long"/>
        <property name="timeTakenR22" type="long"/>
        <property name="timeTakenR23" type="long"/>
        <property name="timeTakenR24" type="long"/>
        <property name="timeTakenR25" type="long"/>
        <property name="timeTakenR26" type="long"/>
        <property name="timeTakenR27" type="long"/>
        <property name="timeTakenR28" type="long"/>
        <property name="timeTakenR29" type="long"/>
        <property name="timeTakenR30" type="long"/>
        <property name="timeTakenR31" type="long"/>
        <property name="timeTakenR32" type="long"/>
        <property name="timeTakenR33" type="long"/>
        <property name="timeTakenR34" type="long"/>
        <property name="timeTakenR35" type="long"/>
        <property name="timeTakenR36" type="long"/>
        <property name="timeTakenR37" type="long"/>
        <property name="timeTakenR38" type="long"/>
        <property name="timeTakenR39" type="long"/>
        <property name="timeTakenR40" type="long"/>

        <property name="timeTakenRt1" type="long"/>
        <property name="timeTakenRt2" type="long"/>
        <property name="timeTakenRt3" type="long"/>
        <property name="timeTakenRt4" type="long"/>
        <property name="timeTakenRt5" type="long"/>
        <property name="timeTakenRt6" type="long"/>
        <property name="timeTakenRt7" type="long"/>
        <property name="timeTakenRt8" type="long"/>
        <property name="timeTakenRt9" type="long"/>
        <property name="timeTakenRt10" type="long"/>

        <!--Hora do Clique-->
        <property name="timeEventR1" type="long"/>
        <property name="timeEventR2" type="long"/>
        <property name="timeEventR3" type="long"/>
        <property name="timeEventR4" type="long"/>
        <property name="timeEventR5" type="long"/>
        <property name="timeEventR6" type="long"/>
        <property name="timeEventR7" type="long"/>
        <property name="timeEventR8" type="long"/>
        <property name="timeEventR9" type="long"/>
        <property name="timeEventR10" type="long"/>
        <property name="timeEventR11" type="long"/>
        <property name="timeEventR12" type="long"/>
        <property name="timeEventR13" type="long"/>
        <property name="timeEventR14" type="long"/>
        <property name="timeEventR15" type="long"/>
        <property name="timeEventR16" type="long"/>
        <property name="timeEventR17" type="long"/>
        <property name="timeEventR18" type="long"/>
        <property name="timeEventR19" type="long"/>
        <property name="timeEventR20" type="long"/>
        <property name="timeEventR21" type="long"/>
        <property name="timeEventR22" type="long"/>
        <property name="timeEventR23" type="long"/>
        <property name="timeEventR24" type="long"/>
        <property name="timeEventR25" type="long"/>
        <property name="timeEventR26" type="long"/>
        <property name="timeEventR27" type="long"/>
        <property name="timeEventR28" type="long"/>
        <property name="timeEventR29" type="long"/>
        <property name="timeEventR30" type="long"/>
        <property name="timeEventR31" type="long"/>
        <property name="timeEventR32" type="long"/>
        <property name="timeEventR33" type="long"/>
        <property name="timeEventR34" type="long"/>
        <property name="timeEventR35" type="long"/>
        <property name="timeEventR36" type="long"/>
        <property name="timeEventR37" type="long"/>
        <property name="timeEventR38" type="long"/>
        <property name="timeEventR39" type="long"/>
        <property name="timeEventR40" type="long"/>

        <property name="timeEventRt1" type="long"/>
        <property name="timeEventRt2" type="long"/>
        <property name="timeEventRt3" type="long"/>
        <property name="timeEventRt4" type="long"/>
        <property name="timeEventRt5" type="long"/>
        <property name="timeEventRt6" type="long"/>
        <property name="timeEventRt7" type="long"/>
        <property name="timeEventRt8" type="long"/>
        <property name="timeEventRt9" type="long"/>
        <property name="timeEventRt10" type="long"/>

        <many-to-one name="user" class="pt.estgp.estgweb.domain.User" lazy="proxy" outer-join="false"/>
        <many-to-one name="questionario" class="pt.estgp.estgweb.domain.Questionario" lazy="proxy" outer-join="false"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioRespostaImpl" discriminator-value="QuestionarioRespostaImpl"/>
    </class>

    <!--PEDAGOGICO QUESTIONARIO ATRIBUICOES-->

    <class name="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" table="questionario_peda_tipologia_requisitada" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="cdDocente" type="string"/>
        <property name="cdTurma" type="string"/>
        <property name="cdTipologia" type="string"/>
        <property name="nomeDocente" type="string" />
        <property name="dsTipologia" type="string"/>
        <many-to-one name="docenteAfeto" class="pt.estgp.estgweb.domain.Teacher" lazy="proxy" outer-join="false" column="professor_afeto"/>
        <many-to-one name="turmaAfeta" class="pt.estgp.estgweb.domain.CourseUnitTurma" lazy="proxy" outer-join="false" column="turma_afeta"/>
        <many-to-one name="unidadeAfeta" class="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfeta" lazy="proxy" outer-join="false" column="unidade_afeta"/>
        <set name="alunosRequisitados" lazy="true">
            <key column="tipologia_requisitada"/>
            <one-to-many class="pt.estgp.estgweb.domain.QuestionarioPedagogicoAlunoRequisitado" />
        </set>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitadaImpl" discriminator-value="QuestionarioPedagogicoTipologiaRequisitadaImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.QuestionarioPedagogicoAlunoRequisitado" table="questionario_peda_aluno_requisitado" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>

        <property name="tipoAlunoFoiExtraido" type="boolean">
            <column name="tipoAlunoFoiExtraido" default="false"/>
        </property>

        <property name="tipoAlunoTrabalhadorEstudante" type="boolean">
            <column name="tipoAlunoTrabalhadorEstudante" default="false"/>
        </property>
        <property name="tipoAlunoErasmus" type="boolean" index="tipoAlunoErasmusIndex">
            <column name="tipoAlunoErasmus" default="false"/>
        </property>
        <property name="tipoAlunoNormal" type="boolean" index="tipoAlunoNormalIndex">
            <column name="tipoAlunoNormal" default="false"/>
        </property>
        <property name="tipoAlunoBolseiro" type="boolean" index="tipoAlunoBolseiroIndex">
            <column name="tipoAlunoBolseiro" default="false"/>
        </property>
        <property name="tipoAlunoMilitar" type="boolean" index="tipoAlunoMilitarIndex">
            <column name="tipoAlunoMilitar" default="false"/>
        </property>
        <property name="tipoAlunoDirigenteAssociativo" type="boolean" index="tipoAlunoDirigenteAssociativoIndex">
            <column name="tipoAlunoDirigenteAssociativo" default="false"/>
        </property>
        <property name="tipoAlunoDeficiente" type="boolean" index="tipoAlunoDeficienteIndex">
            <column name="tipoAlunoDeficiente" default="false"/>
        </property>
        <property name="tipoAlunoBombeiro" type="boolean" index="tipoAlunoBombeiroIndex">
            <column name="tipoAlunoBombeiro" default="false"/>
        </property>
        <property name="tipoAlunoVascodagama" type="boolean" index="tipoAlunoVascodagamaIndex">
            <column name="tipoAlunoVascodagama" default="false"/>
        </property>
        <property name="propinasEmDia" type="boolean" index="propinasEmDiaIndex">
            <column name="propinasEmDia" default="false"/>
        </property>

        <many-to-one name="aluno" class="pt.estgp.estgweb.domain.Student" lazy="proxy" outer-join="false"/>
        <many-to-one name="tipologiaRequisitada" class="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" lazy="proxy" outer-join="false" column="tipologia_requisitada"/>
        <many-to-one name="respostaRequisitada" class="pt.estgp.estgweb.domain.QuestionarioRespostaRequisitada" lazy="proxy" outer-join="false"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioPedagogicoAlunoRequisitadoImpl" discriminator-value="QuestionarioPedagogicoAlunoRequisitadoImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" table="questionario_peda_curso_afeto" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="codigoInstituicao" type="string"/>
        <property name="nomeInstituicao" type="string"/>
        <property name="codigoCurso" type="string" index="codigoCursoIndex"/>
        <property name="ano" type="string"/>
        <property name="semestre" type="string"/>
        <property name="nome" type="string"/>
        <property name="marcadas" type="int"/>
        <property name="obs" type="string"/>
        <property name="usarTipologias" type="boolean">
            <column name="usarTipologias" default="false"/>
        </property>

        <!--STATS-->
        <property name="statTipologiasRequisitadas" type="int">
            <column name="statTipologiasRequisitadas" default="0"/>
        </property>
        <property name="statRespostasRequisitadas" type="int">
            <column name="statRespostasRequisitadas" default="0"/>
        </property>

        <many-to-one name="questionario" class="pt.estgp.estgweb.domain.Questionario" lazy="proxy" outer-join="false"/>
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="proxy" outer-join="false"/>
        <set name="unidadesAfetas" lazy="true" order-by="nome asc">
            <key column="curso_afeto"/>
            <one-to-many class="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfeta" />
        </set>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfetoImpl" discriminator-value="QuestionarioPedagogicoCursoAfetoImpl"/>
    </class>

    <class name="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfeta" table="questionario_peda_unidade_afeta" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="codigoUnidade" type="string" index="codigoUnidadeIndex"/>
        <property name="nome" type="string"/>

        <property name="addedTipologias" type="int"/>

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

        <property name="profs" type="int"/>
        <property name="turmas" type="int"/>
        <property name="students" type="int"/>
        <property name="turmaWithoutProf" type="int"/>
        <property name="profsWithoutTurma" type="int"/>
        <property name="tipologias" type="int"/>

        <property name="vista" type="boolean">
            <column name="vista" default="false"/>
        </property>
        <property name="vistaProfs" type="boolean">
            <column name="vista_profs" default="false"/>
        </property>
        <property name="usar" type="boolean">
            <column name="usar" default="true"/>
        </property>

        <property name="usarOlap" type="boolean">
            <column name="usarOlap" default="true"/>
        </property>

        <property name="obs" type="text">
            <column name="obs" sql-type="TEXT"/>
        </property>
        <property name="tipologiasJson" type="text">
            <column name="tipologias_json" sql-type="MEDIUMTEXT"/>
        </property>

        <!--STATS-->

        <property name="statTipologiasRequisitadas" type="int">
            <column name="statTipologiasRequisitadas" default="0"/>
        </property>
        <property name="statRespostasRequisitadas" type="int">
            <column name="statRespostasRequisitadas" default="0"/>
        </property>

        <many-to-one name="cursoAfeto" class="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" lazy="proxy" outer-join="false" column="curso_afeto"/>
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="proxy" outer-join="false"/>
        <set name="tipologiasRequisitadas" lazy="true">
            <key column="unidade_afeta"/>
            <one-to-many class="pt.estgp.estgweb.domain.QuestionarioPedagogicoTipologiaRequisitada" />
        </set>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfetaImpl" discriminator-value="QuestionarioPedagogicoUnidadeCurricularAfetaImpl"/>
    </class>


    <!--REPORTS-->

    <class name="pt.estgp.estgweb.domain.QuestionarioReportFileGroup" table="questionario_report_file_grp" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupImpl">
            <meta attribute="scope-class">public abstract</meta>
            <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupAno">
                <meta attribute="scope-class">public abstract</meta>
                <property name="importYear" type="string"/>
                <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupAnoImpl">
                    <meta attribute="scope-class">public abstract</meta>
                    <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupCursosAno">
                        <meta attribute="scope-class">public abstract</meta>
                        <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupCursosAnoImpl" discriminator-value="QuestionarioReportFileGroupCursosAnoImpl"/>
                    </subclass>
                    <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupDocentesAno">
                        <meta attribute="scope-class">public abstract</meta>
                        <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileGroupDocentesAnoImpl" discriminator-value="QuestionarioReportFileGroupDocentesAnoImpl"/>
                    </subclass>
                </subclass>
            </subclass>
        </subclass>
    </class>

    <class name="pt.estgp.estgweb.domain.QuestionarioReportFile" table="questionario_report_file" abstract="true">
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
        <meta attribute="scope-class">public abstract</meta>
        <id name="id" type="long" unsaved-value="0">
            <generator class="native"/>
        </id>
        <discriminator column="discriminator"/>
        <timestamp source="db" name="updateDate" unsaved-value="null"/>
        <property name="saveDate" type="timestamp"/>
        <property name="repositoryStream" type="string" index="repositoryIndex"/>
        <subclass name="pt.estgp.estgweb.domain.QuestionarioReportFileImpl">
            <meta attribute="scope-class">public abstract</meta>
            <subclass name="pt.estgp.estgweb.domain.QuestionarioReportCursoFile">
                <meta attribute="scope-class">public abstract</meta>
                <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="proxy" outer-join="false"/>
                <subclass name="pt.estgp.estgweb.domain.QuestionarioReportCursoFileImpl" discriminator-value="QuestionarioReportCursoFileImpl"/>
            </subclass>
            <subclass name="pt.estgp.estgweb.domain.QuestionarioReportDocenteFile">
                <meta attribute="scope-class">public abstract</meta>
                <many-to-one name="teacher" class="pt.estgp.estgweb.domain.Teacher" lazy="proxy" outer-join="false"/>
                <set name="courseUnits" lazy="true" order-by="name asc" table="questionario_report_file_docente_units">
                    <key column="reportdocentefile"/>
                    <many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseunit" />
                </set>
                <subclass name="pt.estgp.estgweb.domain.QuestionarioReportDocenteFileImpl" discriminator-value="QuestionarioReportDocenteFileImpl"/>
            </subclass>
        </subclass>
    </class>



</hibernate-mapping>