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> |