Subversion Repositories bacoAlunos

Rev

Rev 1910 | Rev 1926 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1910 Rev 1915
1
<?xml version="1.0"?>
1
<?xml version="1.0"?>
2
<!DOCTYPE hibernate-mapping
2
<!DOCTYPE hibernate-mapping
3
        PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
3
        PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
4
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
 
5
 
6
<hibernate-mapping>
6
<hibernate-mapping>
7
    <class name="pt.estgp.estgweb.domain.Course" table="course" abstract="true">
7
    <class name="pt.estgp.estgweb.domain.Course" table="course" abstract="true">
8
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
8
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
9
        <meta attribute="scope-class">public abstract</meta>
9
        <meta attribute="scope-class">public abstract</meta>
10
        <id name="id" type="long">
10
        <id name="id" type="long">
11
            <generator class="native"/>
11
            <generator class="native"/>
12
        </id>
12
        </id>
13
        <discriminator column="discrimitator"/>
13
        <discriminator column="discrimitator"/>
14
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
14
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
15
        <property name="saveDate" type="timestamp"/>
15
        <property name="saveDate" type="timestamp"/>
16
        <property name="name" type="string"/>
16
        <property name="name" type="string"/>
17
        <property name="nameEn" type="string"/>
17
        <property name="nameEn" type="string"/>
18
        <property name="nameEs" type="string"/>
18
        <property name="nameEs" type="string"/>
19
        <property name="nameFr" type="string"/>
19
        <property name="nameFr" type="string"/>
20
        <property name="description" type="text"/>
20
        <property name="description" type="text"/>
21
        <property name="code" type="string"/>
21
        <property name="code" type="string"/>
22
        <property name="importYear" type="string" index="importYearIndex"/>
22
        <property name="importYear" type="string" index="importYearIndex"/>
23
        <!--<property name="institutionalCode" type="string"/>-->
23
        <!--<property name="institutionalCode" type="string"/>-->
24
        <property name="externalSiteServer" type="string"/>
24
        <property name="externalSiteServer" type="string"/>
25
        <property name="externalSitePath" type="string"/>
25
        <property name="externalSitePath" type="string"/>
26
        <property name="degree" type="string" index="degreeIndex"/>
26
        <property name="degree" type="string" index="degreeIndex"/>
27
        <property name="status" type="boolean"/>
27
        <property name="status" type="boolean"/>
28
        <property name="showStudiesPlan" type="boolean">
28
        <property name="showStudiesPlan" type="boolean">
29
            <column name="showStudiesPlan" default="false"/>
29
            <column name="showStudiesPlan" default="false"/>
30
        </property>
30
        </property>
31
        <property name="cacheWebDocument" type="text">
31
        <property name="cacheWebDocument" type="text">
32
            <column name="cacheWebDocument" sql-type="MEDIUMTEXT"/>
32
            <column name="cacheWebDocument" sql-type="MEDIUMTEXT"/>
33
        </property>
33
        </property>
34
        <!--legacy-->
34
        <!--legacy-->
35
        <property name="studiesPlan" type="string" index="studiesPlanIndex"/>
35
        <property name="studiesPlan" type="string" index="studiesPlanIndex"/>
36
        <property name="validationRole" type="string" index="validationRoleIndex"/>
36
        <property name="validationRole" type="string" index="validationRoleIndex"/>
37
        <property name="area" type="string" index="areaIndex" insert="false" update="false"/>
37
        <property name="area" type="string" index="areaIndex" insert="false" update="false"/>
38
        <property name="userGroupStudents" type="string"/>
38
        <property name="userGroupStudents" type="string"/>
39
        <property name="json" type="text">
39
        <property name="json" type="text">
40
            <column name="json" sql-type="MEDIUMTEXT"/>
40
            <column name="json" sql-type="MEDIUMTEXT"/>
41
        </property>
41
        </property>
42
        <many-to-one name="department" class="pt.estgp.estgweb.domain.CourseDepartment" outer-join="true" lazy="false">
42
        <many-to-one name="department" class="pt.estgp.estgweb.domain.CourseDepartment" outer-join="true" lazy="false">
43
            <column name="area" length="20" sql-type="VARCHAR"/>
43
            <column name="area" length="20" sql-type="VARCHAR"/>
44
        </many-to-one>
44
        </many-to-one>
45
        <many-to-one name="courseContents" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false">
45
        <many-to-one name="courseContents" class="pt.estgp.estgweb.domain.PageSection" lazy="proxy" outer-join="false">
46
            <column name="courseContents"/>
46
            <column name="courseContents"/>
47
        </many-to-one>
47
        </many-to-one>
48
        <many-to-one name="director" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/>
48
        <many-to-one name="director" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/>
49
        <many-to-one name="coordinator" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/>
49
        <many-to-one name="coordinator" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/>
50
        <set name="studiesPlans" order-by="id desc" lazy="true">
50
        <set name="studiesPlans" order-by="id desc" lazy="true">
51
            <key column="course_id"/>
51
            <key column="course_id"/>
52
            <one-to-many class="pt.estgp.estgweb.domain.CourseStudiesPlan"/>
52
            <one-to-many class="pt.estgp.estgweb.domain.CourseStudiesPlan"/>
53
        </set>
53
        </set>
54
        <!--<set name="users" order-by="user.name asc" lazy="true">
54
        <!--<set name="users" order-by="user.name asc" lazy="true">
55
            <key column="course_id"/>
55
            <key column="course_id"/>
56
            <one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/>
56
            <one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/>
57
        </set>-->
57
        </set>-->
58
        <set name="courseUnits" order-by="name asc" lazy="true">
58
        <set name="courseUnits" order-by="name asc" lazy="true">
59
            <key column="course"/>
59
            <key column="course"/>
60
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnit"/>
60
            <one-to-many class="pt.estgp.estgweb.domain.CourseUnit"/>
61
        </set>
61
        </set>
62
        <set name="courseYears" order-by="importYear asc" lazy="true">
62
        <set name="courseYears" order-by="importYear asc" lazy="true">
63
            <key column="course_id"/>
63
            <key column="course_id"/>
64
            <one-to-many class="pt.estgp.estgweb.domain.CourseYear"/>
64
            <one-to-many class="pt.estgp.estgweb.domain.CourseYear"/>
65
        </set>
65
        </set>
66
        <subclass name="pt.estgp.estgweb.domain.CourseImpl" discriminator-value="CourseImpl"/>
66
        <subclass name="pt.estgp.estgweb.domain.CourseImpl" discriminator-value="CourseImpl"/>
67
    </class>
67
    </class>
68
 
68
 
69
    <class name="pt.estgp.estgweb.domain.CourseYear" table="course_year" abstract="true">
69
    <class name="pt.estgp.estgweb.domain.CourseYear" table="course_year" abstract="true">
70
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
70
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
71
        <meta attribute="scope-class">public abstract</meta>
71
        <meta attribute="scope-class">public abstract</meta>
72
        <id name="id" type="long">
72
        <id name="id" type="long">
73
            <generator class="native"/>
73
            <generator class="native"/>
74
        </id>
74
        </id>
75
        <discriminator column="discrimitator"/>
75
        <discriminator column="discrimitator"/>
76
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
76
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
77
        <property name="saveDate" type="timestamp"/>
77
        <property name="saveDate" type="timestamp"/>
78
        <property name="importYear" type="string" index="importYearIndex"/>
78
        <property name="importYear" type="string" index="importYearIndex"/>
79
        <property name="separatedTurmas" type="boolean">
79
        <property name="separatedTurmas" type="boolean">
80
            <column name="separatedTurmas" default="false"/>
80
            <column name="separatedTurmas" default="false"/>
81
        </property>
81
        </property>
82
        <!--
82
        <!-- 13/12/2017-->
83
        <property name="report" type="text">
83
        <property name="reportSave" type="text">
84
            <column name="report" sql-type="LONGTEXT"/>
84
            <column name="reportSave" sql-type="LONGTEXT"/>
85
        </property> -->
85
        </property>
-
 
86
 
86
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
87
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
87
        <subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/>
88
        <subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/>
88
    </class>
89
    </class>
89
 
90
 
90
    <class name="pt.estgp.estgweb.domain.CourseStudiesPlan" table="course_studies_plan" abstract="true">
91
    <class name="pt.estgp.estgweb.domain.CourseStudiesPlan" table="course_studies_plan" abstract="true">
91
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
92
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
92
        <meta attribute="scope-class">public abstract</meta>
93
        <meta attribute="scope-class">public abstract</meta>
93
        <id name="id" type="long">
94
        <id name="id" type="long">
94
            <generator class="native"/>
95
            <generator class="native"/>
95
        </id>
96
        </id>
96
        <discriminator column="discrimitator"/>
97
        <discriminator column="discrimitator"/>
97
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
98
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
98
        <property name="saveDate" type="timestamp"/>
99
        <property name="saveDate" type="timestamp"/>
99
        <property name="version" type="int"/>
100
        <property name="version" type="int"/>
100
        <property name="versionDescription" type="string"/>
101
        <property name="versionDescription" type="string"/>
101
        <property name="importLog" type="text">
102
        <property name="importLog" type="text">
102
            <column name="importLog" sql-type="MEDIUMTEXT"/>
103
            <column name="importLog" sql-type="MEDIUMTEXT"/>
103
        </property>
104
        </property>
104
        <property name="xml" type="text">
105
        <property name="xml" type="text">
105
            <column name="xml" sql-type="MEDIUMTEXT"/>
106
            <column name="xml" sql-type="MEDIUMTEXT"/>
106
        </property>
107
        </property>
107
        <property name="json" type="text">
108
        <property name="json" type="text">
108
            <column name="json" sql-type="MEDIUMTEXT"/>
109
            <column name="json" sql-type="MEDIUMTEXT"/>
109
        </property>
110
        </property>
110
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
111
        <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/>
111
        <subclass name="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" discriminator-value="CourseYearImpl"/>
112
        <subclass name="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" discriminator-value="CourseYearImpl"/>
112
    </class>
113
    </class>
113
 
114
 
114
    <class name="pt.estgp.estgweb.domain.CourseDepartment" table="course_department" abstract="true">
115
    <class name="pt.estgp.estgweb.domain.CourseDepartment" table="course_department" abstract="true">
115
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
116
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
116
        <meta attribute="scope-class">public abstract</meta>
117
        <meta attribute="scope-class">public abstract</meta>
117
        <id name="sigla" type="string" length="20">
118
        <id name="sigla" type="string" length="20">
118
            <generator class="assigned"/>
119
            <generator class="assigned"/>
119
        </id>
120
        </id>
120
        <discriminator column="discrimitator"/>
121
        <discriminator column="discrimitator"/>
121
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
122
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
122
        <property name="saveDate" type="timestamp"/>
123
        <property name="saveDate" type="timestamp"/>
123
        <!--Este deixa de existir procurar todos os sitios onde isto está
124
        <!--Este deixa de existir procurar todos os sitios onde isto está
124
        podemos ainda reimplementar o método para ir buscar à escola-->
125
        podemos ainda reimplementar o método para ir buscar à escola-->
125
        <!--<property name="institutionalCode" type="string"/>-->
126
        <!--<property name="institutionalCode" type="string"/>-->
126
        <property name="active" type="boolean">
127
        <property name="active" type="boolean">
127
            <column name="active" default="true"/>
128
            <column name="active" default="true"/>
128
        </property>
129
        </property>
129
        <property name="name" type="string"/>
130
        <property name="name" type="string"/>
130
        <property name="nameEn" type="string"/>
131
        <property name="nameEn" type="string"/>
131
        <property name="nameEs" type="string"/>
132
        <property name="nameEs" type="string"/>
132
        <property name="nameFr" type="string"/>
133
        <property name="nameFr" type="string"/>
133
        <property name="directorRole" type="string"/>
134
        <property name="directorRole" type="string"/>
134
        <property name="boardRole" type="string"/>
135
        <property name="boardRole" type="string"/>
135
        <!--Todo colocar aqui o director e vice director de departamento Remover do Curso ou no proprio curso afeta aqui-->
136
        <!--Todo colocar aqui o director e vice director de departamento Remover do Curso ou no proprio curso afeta aqui-->
136
        <many-to-one name="courseSchool" class="pt.estgp.estgweb.domain.CourseSchoolImpl" outer-join="true" lazy="false" column="school_id"/>
137
        <many-to-one name="courseSchool" class="pt.estgp.estgweb.domain.CourseSchoolImpl" outer-join="true" lazy="false" column="school_id"/>
137
 
138
 
138
        <set name="teachers" order-by="name asc" lazy="true">
139
        <set name="teachers" order-by="name asc" lazy="true">
139
            <key column="departmentSigla"/>
140
            <key column="departmentSigla"/>
140
            <one-to-many class="pt.estgp.estgweb.domain.TeacherImpl"/>
141
            <one-to-many class="pt.estgp.estgweb.domain.TeacherImpl"/>
141
        </set>
142
        </set>
142
        <subclass name="pt.estgp.estgweb.domain.CourseDepartmentImpl" discriminator-value="CourseDepartmentImpl"/>
143
        <subclass name="pt.estgp.estgweb.domain.CourseDepartmentImpl" discriminator-value="CourseDepartmentImpl"/>
143
    </class>
144
    </class>
144
 
145
 
145
 
146
 
146
    <class name="pt.estgp.estgweb.domain.CourseSchool" table="course_school" abstract="true">
147
    <class name="pt.estgp.estgweb.domain.CourseSchool" table="course_school" abstract="true">
147
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
148
        <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
148
        <meta attribute="scope-class">public abstract</meta>
149
        <meta attribute="scope-class">public abstract</meta>
149
        <id name="id" type="long">
150
        <id name="id" type="long">
150
            <generator class="native"/>
151
            <generator class="native"/>
151
        </id>
152
        </id>
152
        <discriminator column="discrimitator"/>
153
        <discriminator column="discrimitator"/>
153
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
154
        <timestamp source="db"   name="updateDate" unsaved-value="null"/>
154
        <property name="saveDate" type="timestamp"/>
155
        <property name="saveDate" type="timestamp"/>
155
        <property name="institutionalCode" type="string"/>
156
        <property name="institutionalCode" type="string"/>
156
        <property name="initials" type="string"/>
157
        <property name="initials" type="string"/>
157
        <property name="active" type="boolean">
158
        <property name="active" type="boolean">
158
            <column name="active" default="true"/>
159
            <column name="active" default="true"/>
159
        </property>
160
        </property>
160
        <property name="name" type="string"/>
161
        <property name="name" type="string"/>
161
        <property name="nameEn" type="string"/>
162
        <property name="nameEn" type="string"/>
162
        <property name="nameEs" type="string"/>
163
        <property name="nameEs" type="string"/>
163
        <property name="nameFr" type="string"/>
164
        <property name="nameFr" type="string"/>
164
 
165
 
165
        <property name="schoolDirectorRole" type="string"/>
166
        <property name="schoolDirectorRole" type="string"/>
166
        <property name="schoolBoardRole" type="string"/>
167
        <property name="schoolBoardRole" type="string"/>
167
        <property name="schoolSecretariadoRole" type="string"/>
168
        <property name="schoolSecretariadoRole" type="string"/>
168
 
169
 
169
        <property name="ctcPresidentRole" type="string"/>
170
        <property name="ctcPresidentRole" type="string"/>
170
        <property name="ctcMemberRole" type="string"/>
171
        <property name="ctcMemberRole" type="string"/>
171
        <property name="ctcSecretariadoRole" type="string"/>
172
        <property name="ctcSecretariadoRole" type="string"/>
172
 
173
 
173
        <property name="pedagogicoPresidentRole" type="string"/>
174
        <property name="pedagogicoPresidentRole" type="string"/>
174
        <property name="pedagogicoMemberRole" type="string"/>
175
        <property name="pedagogicoMemberRole" type="string"/>
175
        <property name="pedagogicoSecretariadoRole" type="string"/>
176
        <property name="pedagogicoSecretariadoRole" type="string"/>
176
 
177
 
177
        <property name="funcionarioRole" type="string"/>
178
        <property name="funcionarioRole" type="string"/>
178
        <property name="studentRole" type="string"/>
179
        <property name="studentRole" type="string"/>
179
        <property name="teacherRole" type="string"/>
180
        <property name="teacherRole" type="string"/>
180
 
181
 
181
        <set name="departments" order-by="name asc" lazy="true">
182
        <set name="departments" order-by="name asc" lazy="true">
182
            <key column="school_id"/>
183
            <key column="school_id"/>
183
            <one-to-many class="pt.estgp.estgweb.domain.CourseDepartmentImpl"/>
184
            <one-to-many class="pt.estgp.estgweb.domain.CourseDepartmentImpl"/>
184
        </set>
185
        </set>
185
        <subclass name="pt.estgp.estgweb.domain.CourseSchoolImpl" discriminator-value="CourseSchoolImpl"/>
186
        <subclass name="pt.estgp.estgweb.domain.CourseSchoolImpl" discriminator-value="CourseSchoolImpl"/>
186
    </class>
187
    </class>
187
 
188
 
188
 
189
 
189
</hibernate-mapping>
190
</hibernate-mapping>