Subversion Repositories bacoAlunos

Rev

Rev 1310 | Rev 1320 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
110 susana 1
<?xml version="1.0"?>
2
<!DOCTYPE hibernate-mapping
3
        PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
 
6
<hibernate-mapping>
287 jmachado 7
    <class name="pt.estgp.estgweb.domain.CourseUnit" table="courseunit" abstract="true">
146 jmachado 8
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
110 susana 9
        <meta attribute="scope-class">public abstract</meta>
10
        <id name="id" type="long">
11
            <generator class="native"/>
12
        </id>
13
        <discriminator column="discrimitator"/>
690 jmachado 14
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
110 susana 15
        <property name="saveDate" type="timestamp"/>
206 jmachado 16
        <property name="semestre" type="string" index="semestreIndex"/>
17
        <property name="name" type="string" index="nameIndex"/>
225 jmachado 18
        <property name="code" type="string" index="codeIndex"/>
19
        <property name="courseCode" type="string" index="courseCodeIndex"/>
20
        <property name="courseName" type="string" index="courseNameIndex"/>
21
        <property name="courseYear" type="string" index="courseYearIndex"/>
206 jmachado 22
        <property name="importYear" type="string" index="importYearIndex"/>
225 jmachado 23
        <property name="institutionCode" type="string" index="institutionCodeIndex" />
214 jmachado 24
        <property name="pathIntranet" type="string" />
25
        <property name="normalizedName" type="string" />
203 jmachado 26
        <property name="objectives" type="text"/>
225 jmachado 27
        <property name="programStreamId" type="string" index="programStreamIdIndex" />
343 jmachado 28
        <property name="validProgram" type="boolean" index="validProgramIndex"/>
225 jmachado 29
        <property name="status" type="boolean" index="statusIndex" />
489 jmachado 30
        <property name="contentsGrants" type="string"/>
1312 jmachado 31
 
32
        <!--Tipologias-->
33
        <!--Pares Turma-Docente-Tipologia usa a classe Tipologias com serializacao-->
34
        <property name="tipologias" type="string">
35
            <column name="tipologias" sql-type="text"/>
36
        </property>
37
        <!--Tipologias-->
38
 
917 jmachado 39
        <property name="evaluationStreamId" type="string" index="evaluationStreamIdIndex" />
1077 jmachado 40
        <property name="evaluationOpenByAdmin" type="boolean" index="evaluationOpenByAdminIndex">
41
            <column name="evaluationOpenByAdmin" default="false"/>
42
        </property>
995 jmachado 43
        <property name="summariesJson" type="text">
1273 jmachado 44
            <column name="summariesJson" sql-type="MEDIUMTEXT"/>
995 jmachado 45
        </property>
1312 jmachado 46
 
47
        <!--
48
            Este código de turma apenas é usado nos casos em que o curso é de turmas separadas
49
            Nesse caso uma cadeira só pode ter uma turma e então a turma é aqui colocada
50
            As restantes politicas de preenchimento da CourseUnitTurma mantém-se
51
        -->
1112 jmachado 52
        <property name="cdTurma" type="string" index="cdTurmaIndex" />
999 jmachado 53
        <!--Not In Use-->
1312 jmachado 54
        <many-to-one name="unitContents" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false">
55
            <column name="unitContents"/>
56
        </many-to-one>
1029 jmachado 57
        <many-to-one name="validatorUser" class="pt.estgp.estgweb.domain.User" lazy="false" outer-join="true" />
208 jmachado 58
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="false" outer-join="true"/>
1029 jmachado 59
        <many-to-one name="courseUnitProgram" class="pt.estgp.estgweb.domain.CourseUnitProgram" lazy="proxy" />
60
        <many-to-one name="courseUnitEvaluation" class="pt.estgp.estgweb.domain.CourseUnitEvaluation" lazy="proxy" />
938 jmachado 61
        <!--<many-to-one name="courseUnitProgram" class="pt.estgp.estgweb.domain.CourseUnitProgram" lazy="false" outer-join="true"/>
62
        <many-to-one name="courseUnitEvaluation" class="pt.estgp.estgweb.domain.CourseUnitEvaluation" lazy="false" outer-join="true"/>-->
998 jmachado 63
        <many-to-one name="responsableTeacher" class="pt.estgp.estgweb.domain.Teacher" lazy="false" outer-join="true" not-null="false"/>
208 jmachado 64
        <set name="blogs" cascade="delete" lazy="true" order-by="saveDate asc">
203 jmachado 65
            <key column="courseUnit"/>
66
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitBlog" />
67
        </set>
1236 jmachado 68
 
296 jmachado 69
        <set name="teachers" lazy="true" table="teachedunits">
180 jmachado 70
            <key column="courseUnitId"/>
205 jmachado 71
            <many-to-many class="pt.estgp.estgweb.domain.TeacherImpl" column="teacherId"/>
180 jmachado 72
        </set>
73
        <set name="students" lazy="true" table="subscribedunits">
74
            <key column="courseUnitId"/>
75
            <many-to-many class="pt.estgp.estgweb.domain.StudentImpl" column="studentId"/>
76
        </set>
202 jmachado 77
        <set name="announcements" cascade="delete" lazy="true" order-by="saveDate desc">
78
            <key column="courseUnit"/>
79
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitAnnouncement" />
80
        </set>
203 jmachado 81
        <set name="questions" cascade="delete" lazy="true" order-by="saveDate desc">
82
            <key column="courseUnit"/>
83
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitQuestion" />
84
        </set>
207 jmachado 85
        <set name="assignements" cascade="delete" lazy="true" order-by="deliverDate desc">
205 jmachado 86
            <key column="courseUnit"/>
87
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitAssignement"/>
88
        </set>
358 jmachado 89
        <set name="summaries" cascade="delete" lazy="true" order-by="dataAula desc">
90
            <key column="courseUnit"/>
91
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitSummary"/>
92
        </set>
1236 jmachado 93
        <set name="turmas" cascade="delete" lazy="true" order-by="saveDate desc">
94
            <key column="courseUnit"/>
95
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitTurma" />
96
        </set>
110 susana 97
        <subclass name="pt.estgp.estgweb.domain.CourseUnitImpl" discriminator-value="CourseUnitImpl"/>
98
    </class>
203 jmachado 99
 
296 jmachado 100
    <class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseunitquestion" abstract="true">
236 jmachado 101
        <meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta>
203 jmachado 102
        <meta attribute="scope-class">public abstract</meta>
103
        <id name="id" type="long">
104
            <generator class="native"/>
105
        </id>
106
        <discriminator column="discrimitator"/>
690 jmachado 107
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
203 jmachado 108
        <property name="saveDate" type="timestamp"/>
109
        <property name="question" type="text"/>
110
        <property name="answer" type="text"/>
111
        <property name="answred" type="boolean" index="answredIndex"/>
236 jmachado 112
        <many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="false" outer-join="true"/>
203 jmachado 113
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
114
        <subclass name="pt.estgp.estgweb.domain.CourseUnitQuestionImpl" discriminator-value="CourseUnitQuestionImpl"/>
115
    </class>
116
 
296 jmachado 117
    <class name="pt.estgp.estgweb.domain.CourseUnitAssignement" table="courseunitassignement" abstract="true">
203 jmachado 118
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
119
        <meta attribute="scope-class">public abstract</meta>
120
        <id name="id" type="long">
121
            <generator class="native"/>
122
        </id>
123
        <discriminator column="discrimitator"/>
690 jmachado 124
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
203 jmachado 125
        <property name="saveDate" type="timestamp"/>
126
        <property name="deliverDate" type="timestamp"/>
127
        <property name="deliverType" type="string"/>
128
        <property name="lateDelivers" type="boolean"/>
205 jmachado 129
        <property name="title" type="string"/>
130
        <property name="description" type="text"/>
208 jmachado 131
        <property name="repositoryStream" type="string" index="repositoryStreamIndex"/>
205 jmachado 132
        <property name="status" type="boolean"/>
203 jmachado 133
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
208 jmachado 134
        <set name="deliverables" cascade="delete" lazy="true" order-by="deliverDate asc">
207 jmachado 135
            <key column="courseUnitAssignement"/>
136
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnitDeliverable"/>
137
        </set>
203 jmachado 138
        <subclass name="pt.estgp.estgweb.domain.CourseUnitAssignementImpl" discriminator-value="CourseUnitAssignementImpl"/>
139
    </class>
140
 
296 jmachado 141
    <class name="pt.estgp.estgweb.domain.CourseUnitDeliverable" table="courseunitdeliverable" abstract="true">
203 jmachado 142
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
143
        <meta attribute="scope-class">public abstract</meta>
144
        <id name="id" type="long">
145
            <generator class="native"/>
146
        </id>
147
        <discriminator column="discrimitator"/>
690 jmachado 148
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
203 jmachado 149
        <property name="saveDate" type="timestamp"/>
208 jmachado 150
        <property name="deliverDate" type="timestamp"/>
151
        <property name="grade" type="string"/>
152
        <property name="obs" type="text"/>
428 jmachado 153
        <property name="studentId" type="long"/>
154
        <property name="studentUsername" type="string"/>
155
        <property name="studentCode" type="string"/>
156
        <property name="studentName" type="string"/>
208 jmachado 157
        <property name="deliverableRepositoryStream" type="string" index="deliverableRepositoryStreamIndex"/>
203 jmachado 158
        <many-to-one name="courseUnitAssignement" class="pt.estgp.estgweb.domain.CourseUnitAssignement" lazy="false" outer-join="true"/>
159
        <many-to-one name="student" class="pt.estgp.estgweb.domain.Student" lazy="false" outer-join="true"/>
160
        <subclass name="pt.estgp.estgweb.domain.CourseUnitDeliverableImpl" discriminator-value="CourseUnitDeliverableImpl"/>
161
    </class>
162
 
296 jmachado 163
    <class name="pt.estgp.estgweb.domain.CourseUnitGrade" table="courseunitgrade" abstract="true">
219 jmachado 164
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
165
        <meta attribute="scope-class">public abstract</meta>
166
        <id name="id" type="long">
167
            <generator class="native"/>
168
        </id>
169
        <discriminator column="discrimitator"/>
690 jmachado 170
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
219 jmachado 171
        <property name="saveDate" type="timestamp"/>
172
        <property name="publishDate" type="timestamp"/>
173
        <property name="grade" type="int" index="gradeIndex"/>
228 jmachado 174
        <property name="normalizedCourseUnitName" type="string"/>
219 jmachado 175
        <property name="statusEpoca" type="int" index="statusEpocaIndex"/>
1057 jmachado 176
        <property name="descStatusEpoca" type="string"/>
177
        <property name="descEpoca" type="string" />
178
        <property name="codigoMomento" type="string" />
179
        <property name="codigoEpoca" type="string" />
219 jmachado 180
        <property name="importYear" type="string" index="importYearIndex"/>
181
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
182
        <many-to-one name="student" class="pt.estgp.estgweb.domain.Student" lazy="false" outer-join="true"/>
183
        <subclass name="pt.estgp.estgweb.domain.CourseUnitGradeImpl" discriminator-value="CourseUnitGradeImpl"/>
184
    </class>
185
 
358 jmachado 186
    <class name="pt.estgp.estgweb.domain.CourseUnitSummary" table="courseunitsummary" abstract="true">
187
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
188
        <meta attribute="scope-class">public abstract</meta>
189
        <id name="id" type="long">
190
            <generator class="native"/>
191
        </id>
192
        <discriminator column="discrimitator"/>
690 jmachado 193
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
358 jmachado 194
        <property name="saveDate" type="timestamp"/>
195
        <property name="dataAula" type="timestamp"/>
1236 jmachado 196
        <property name="cdTipoOcupacao" type="int"/>
358 jmachado 197
        <property name="tipoAula" type="string"/>
198
        <property name="codigoAula" type="string"/>
199
        <property name="codigoSumario" type="string"/>
200
        <property name="codigoSalaAula" type="string"/>
1236 jmachado 201
        <property name="codigoDocente" type="string"/>
358 jmachado 202
        <property name="alunosPresentes" type="int"/>
203
        <property name="numeroAula" type="int"/>
1236 jmachado 204
        <property name="nrAula" type="int"/>
358 jmachado 205
        <property name="titulo" type="string" index="tituloIndex"/>
206
        <property name="descricao" type="text"/>
207
        <property name="cEstado" type="string"/>
995 jmachado 208
        <property name="numeroHoras" type="string"/>
358 jmachado 209
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
210
        <subclass name="pt.estgp.estgweb.domain.CourseUnitSummaryImpl" discriminator-value="CourseUnitSummaryImpl"/>
211
    </class>
212
 
726 jmachado 213
 
214
 
215
    <class name="pt.estgp.estgweb.domain.CourseUnitProgram" table="courseunitprogram" abstract="true">
216
           <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
217
           <meta attribute="scope-class">public abstract</meta>
218
           <id name="id" type="long">
219
               <generator class="native"/>
220
           </id>
221
           <discriminator column="discrimitator"/>
222
           <timestamp source="db"   name="updateDate" unsaved-value="null"/>
223
           <property name="saveDate" type="timestamp"/>
224
           <property name="bibliografia" type="text"/>
730 jmachado 225
           <property name="bibliografiaComplementar" type="text"/>
726 jmachado 226
           <property name="adaptacaoObjectivosMetodologia" type="text"/>
227
           <property name="demonstracaoCargaEcts" type="text"/>
228
           <property name="garantiaAvaliacaoFuncaObjectivos" type="text"/>
229
           <property name="metodologiasActividadeCientifica" type="text"/>
230
           <property name="ects" type="string"/>
231
           <property name="prerequisitos" type="text"/>
232
           <property name="obrigatoria" type="string"/>
233
           <property name="lingua1" type="string"/>
234
           <property name="lingua2" type="string"/>
749 jmachado 235
 
236
           <property name="cargaHorariaTotal" type="string"/>
237
           <property name="cargaHorariaT" type="string"/>
238
           <property name="cargaHorariaTP" type="string"/>
239
           <property name="cargaHorariaPL" type="string"/>
240
           <property name="cargaHorariaS" type="string"/>
241
           <property name="cargaHorariaTC" type="string"/>
242
           <property name="cargaHorariaO" type="string"/>
243
           <property name="cargaHorariaOT" type="string"/>
244
 
747 jmachado 245
           <many-to-one name="courseUnitProgramPart2" class="pt.estgp.estgweb.domain.CourseUnitProgramPart2" lazy="false" outer-join="true"/>
726 jmachado 246
           <subclass name="pt.estgp.estgweb.domain.CourseUnitProgramImpl" discriminator-value="CourseUnitProgramImpl"/>
247
       </class>
248
 
747 jmachado 249
       <class name="pt.estgp.estgweb.domain.CourseUnitProgramPart2" table="courseunitprogrampart2" abstract="true">
250
           <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
251
           <meta attribute="scope-class">public abstract</meta>
252
           <id name="id" type="long">
253
               <generator class="native"/>
254
           </id>
255
           <discriminator column="discrimitator"/>
256
           <timestamp source="db" name="updateDate" unsaved-value="null"/>
257
           <property name="saveDate" type="timestamp"/>
258
           <property name="objectivos" type="text"/>
259
           <property name="conteudos" type="text"/>
260
           <property name="demonstracaoCoerenciaConteudos" type="text"/>
261
           <property name="metodologiasEnsino" type="text"/>
262
           <property name="avaliacaoOrdinariosFrequencia" type="text"/>
263
           <property name="avaliacaoOrdinariosExame" type="text"/>
264
           <property name="avaliacaoEspeciaisFrequencia" type="text"/>
265
           <property name="avaliacaoEspeciaissExame" type="text"/>
266
           <property name="demonstracaoObjectivosMetodologia" type="text"/>
267
           <subclass name="pt.estgp.estgweb.domain.CourseUnitProgramPart2Impl" discriminator-value="CourseUnitProgramPart2Impl"/>
268
       </class>
726 jmachado 269
 
747 jmachado 270
 
881 jmachado 271
 
272
    <class name="pt.estgp.estgweb.domain.CourseUnitEvaluation" table="courseunitevaluation" abstract="true">
273
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
274
        <meta attribute="scope-class">public abstract</meta>
275
        <id name="id" type="long">
276
            <generator class="native"/>
277
        </id>
278
        <discriminator column="discrimitator"/>
279
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
280
        <property name="saveDate" type="timestamp"/>
887 jmachado 281
        <property name="closed" type="boolean"/>
1017 jmachado 282
        <!-- todo update aos do ano anterior para meter todos os evaluations salvos com teacherComplete = true -->
1024 jmachado 283
        <property name="teacherComplete" type="boolean" index="teacherCompleteIndex">
1017 jmachado 284
            <column name="teacherComplete" default="true"/>
285
        </property>
881 jmachado 286
        <property name="numAlunosInscritos" type="text"/>
287
        <property name="numAlunosSemElementosAvaliacao" type="integer"/>
288
 
289
        <property name="numAlunosAprovFrequencia" type="integer"/>
290
        <property name="numAlunosAprovNormal" type="integer"/>
291
        <property name="numAlunosAprovRecurso" type="integer"/>
292
        <property name="numAlunosAprovEspecial" type="integer"/>
293
        <property name="numAlunosAprovTotal" type="integer"/>
294
 
295
        <property name="numAlunosAprov1013" type="integer"/>
296
        <property name="numAlunosAprov1416" type="integer"/>
297
        <property name="numAlunosAprov1720" type="integer"/>
298
 
299
        <property name="numAlunosAprovados" type="integer"/>
300
        <property name="numAlunosReprovados" type="integer"/>
301
 
302
        <property name="qualApreciacaoQuantitivos" type="text"/>
303
        <property name="qualApreciacaoUC" type="text"/>
304
        <property name="qualApreciacaoCumprimentoPrograma" type="text"/>
305
        <property name="qualConclusoes" type="text"/>
306
 
953 jmachado 307
 
881 jmachado 308
        <subclass name="pt.estgp.estgweb.domain.CourseUnitEvaluationImpl" discriminator-value="CourseUnitEvaluationImpl"/>
309
    </class>
310
 
311
 
1236 jmachado 312
    <!-- todo Verificar o serviço de apagar cadeira
313
        Parece-me que vai sempre haver aqui turmas a menos que se removam
314
        as turmas quando nao há mais alunos, pelo menos tem de se vir removendo
315
        daqui as associações aos estudantes e profs quando saiem da lista primária
316
    -->
317
    <class name="pt.estgp.estgweb.domain.CourseUnitTurma" table="courseunitturma" abstract="true">
318
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
319
        <meta attribute="scope-class">public abstract</meta>
320
        <id name="id" type="long">
321
            <generator class="native"/>
322
        </id>
323
        <discriminator column="discrimitator"/>
324
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
325
        <property name="saveDate" type="timestamp"/>
326
        <property name="turma" type="string"/>
1312 jmachado 327
        <many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="proxy" outer-join="true">
328
            <column name="courseUnit"/>
329
        </many-to-one>
1238 jmachado 330
        <set name="students" lazy="true" table="subscribedturmaunits">
331
            <key column="courseUnitTurmaId"/>
1236 jmachado 332
            <many-to-many class="pt.estgp.estgweb.domain.StudentImpl" column="studentId"/>
333
        </set>
1312 jmachado 334
        <!--
335
        <set name="teachers" lazy="true" table="teachedturmaunits">
336
            <key column="courseUnitTurmaId"/>
337
            <many-to-many class="pt.estgp.estgweb.domain.Teacher" column="teacherId"/>
338
        </set>
339
        -->
1236 jmachado 340
        <subclass name="pt.estgp.estgweb.domain.CourseUnitTurmaImpl" discriminator-value="CourseUnitTurmaImpl"/>
341
    </class>
342
 
343
 
344
 
1242 jmachado 345
 
296 jmachado 346
    <!--<class name="pt.estgp.estgweb.domain.CourseUnit" table="courseunitassignement" abstract="true">-->
226 jmachado 347
        <!--<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>-->
348
        <!--<meta attribute="scope-class">public abstract</meta>-->
349
        <!--<id name="id" type="long">-->
350
            <!--<generator class="native"/>-->
351
        <!--</id>-->
352
        <!--<discriminator column="discrimitator"/>-->
690 jmachado 353
        <!--<timestamp source="db"   name="updateDate" unsaved-value="null"/>-->
226 jmachado 354
        <!--<property name="saveDate" type="timestamp"/>-->
355
        <!--<property name="deliverDate" type="timestamp"/>-->
356
        <!--<property name="deliverType" type="string"/>-->
357
        <!--<property name="lateDelivers" type="boolean"/>-->
358
        <!--<property name="title" type="string"/>-->
359
        <!--<property name="description" type="text"/>-->
360
        <!--<property name="repositoryStream" type="string" index="repositoryStreamIndex"/>-->
361
        <!--<property name="status" type="boolean"/>-->
362
        <!--<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>-->
363
        <!--<set name="deliverables" cascade="delete" lazy="true" order-by="deliverDate asc">-->
364
            <!--<key column="courseUnitAssignement"/>-->
365
            <!--<one-to-many class="pt.estgp.estgweb.domain.CourseUnitDeliverable"/>-->
366
        <!--</set>-->
367
        <!--<subclass name="pt.estgp.estgweb.domain.CourseUnitAssignementImpl" discriminator-value="CourseUnitAssignementImpl"/>-->
368
    <!--</class>-->
225 jmachado 369
 
110 susana 370
</hibernate-mapping>