Rev 1968 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1968 | Rev 1970 | ||
---|---|---|---|
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 | <property name="courseReportDocument" type="string"> |
|
- | 83 | <column name="courseReportDocument" sql-type="LONGTEXT"/> |
|
- | 84 | </property> |
|
82 | <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/> |
85 | <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/> |
83 | <subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/> |
86 | <subclass name="pt.estgp.estgweb.domain.CourseYearImpl" discriminator-value="CourseYearImpl"/> |
84 | </class> |
87 | </class> |
85 | 88 | ||
86 | <class name="pt.estgp.estgweb.domain.CourseStudiesPlan" table="course_studies_plan" abstract="true"> |
89 | <class name="pt.estgp.estgweb.domain.CourseStudiesPlan" table="course_studies_plan" abstract="true"> |
87 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
90 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
88 | <meta attribute="scope-class">public abstract</meta> |
91 | <meta attribute="scope-class">public abstract</meta> |
89 | <id name="id" type="long"> |
92 | <id name="id" type="long"> |
90 | <generator class="native"/> |
93 | <generator class="native"/> |
91 | </id> |
94 | </id> |
92 | <discriminator column="discrimitator"/> |
95 | <discriminator column="discrimitator"/> |
93 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
96 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
94 | <property name="saveDate" type="timestamp"/> |
97 | <property name="saveDate" type="timestamp"/> |
95 | <property name="version" type="int"/> |
98 | <property name="version" type="int"/> |
96 | <property name="versionDescription" type="string"/> |
99 | <property name="versionDescription" type="string"/> |
97 | <property name="importLog" type="text"> |
100 | <property name="importLog" type="text"> |
98 | <column name="importLog" sql-type="MEDIUMTEXT"/> |
101 | <column name="importLog" sql-type="MEDIUMTEXT"/> |
99 | </property> |
102 | </property> |
100 | <property name="xml" type="text"> |
103 | <property name="xml" type="text"> |
101 | <column name="xml" sql-type="MEDIUMTEXT"/> |
104 | <column name="xml" sql-type="MEDIUMTEXT"/> |
102 | </property> |
105 | </property> |
103 | <property name="json" type="text"> |
106 | <property name="json" type="text"> |
104 | <column name="json" sql-type="MEDIUMTEXT"/> |
107 | <column name="json" sql-type="MEDIUMTEXT"/> |
105 | </property> |
108 | </property> |
106 | <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/> |
109 | <many-to-one name="course" class="pt.estgp.estgweb.domain.Course" outer-join="true" lazy="false" column="course_id"/> |
107 | <subclass name="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" discriminator-value="CourseYearImpl"/> |
110 | <subclass name="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" discriminator-value="CourseYearImpl"/> |
108 | </class> |
111 | </class> |
109 | 112 | ||
110 | <class name="pt.estgp.estgweb.domain.CourseDepartment" table="course_department" abstract="true"> |
113 | <class name="pt.estgp.estgweb.domain.CourseDepartment" table="course_department" abstract="true"> |
111 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
114 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
112 | <meta attribute="scope-class">public abstract</meta> |
115 | <meta attribute="scope-class">public abstract</meta> |
113 | <id name="sigla" type="string" length="20"> |
116 | <id name="sigla" type="string" length="20"> |
114 | <generator class="assigned"/> |
117 | <generator class="assigned"/> |
115 | </id> |
118 | </id> |
116 | <discriminator column="discrimitator"/> |
119 | <discriminator column="discrimitator"/> |
117 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
120 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
118 | <property name="saveDate" type="timestamp"/> |
121 | <property name="saveDate" type="timestamp"/> |
119 | <!--Este deixa de existir procurar todos os sitios onde isto está |
122 | <!--Este deixa de existir procurar todos os sitios onde isto está |
120 | podemos ainda reimplementar o método para ir buscar à escola--> |
123 | podemos ainda reimplementar o método para ir buscar à escola--> |
121 | <!--<property name="institutionalCode" type="string"/>--> |
124 | <!--<property name="institutionalCode" type="string"/>--> |
122 | <property name="active" type="boolean"> |
125 | <property name="active" type="boolean"> |
123 | <column name="active" default="true"/> |
126 | <column name="active" default="true"/> |
124 | </property> |
127 | </property> |
125 | <property name="name" type="string"/> |
128 | <property name="name" type="string"/> |
126 | <property name="nameEn" type="string"/> |
129 | <property name="nameEn" type="string"/> |
127 | <property name="nameEs" type="string"/> |
130 | <property name="nameEs" type="string"/> |
128 | <property name="nameFr" type="string"/> |
131 | <property name="nameFr" type="string"/> |
129 | <property name="directorRole" type="string"/> |
132 | <property name="directorRole" type="string"/> |
130 | <property name="boardRole" type="string"/> |
133 | <property name="boardRole" type="string"/> |
131 | <!--Todo colocar aqui o director e vice director de departamento Remover do Curso ou no proprio curso afeta aqui--> |
134 | <!--Todo colocar aqui o director e vice director de departamento Remover do Curso ou no proprio curso afeta aqui--> |
132 | <many-to-one name="courseSchool" class="pt.estgp.estgweb.domain.CourseSchoolImpl" outer-join="true" lazy="false" column="school_id"/> |
135 | <many-to-one name="courseSchool" class="pt.estgp.estgweb.domain.CourseSchoolImpl" outer-join="true" lazy="false" column="school_id"/> |
133 | 136 | ||
134 | <set name="teachers" order-by="name asc" lazy="true"> |
137 | <set name="teachers" order-by="name asc" lazy="true"> |
135 | <key column="departmentSigla"/> |
138 | <key column="departmentSigla"/> |
136 | <one-to-many class="pt.estgp.estgweb.domain.TeacherImpl"/> |
139 | <one-to-many class="pt.estgp.estgweb.domain.TeacherImpl"/> |
137 | </set> |
140 | </set> |
138 | <subclass name="pt.estgp.estgweb.domain.CourseDepartmentImpl" discriminator-value="CourseDepartmentImpl"/> |
141 | <subclass name="pt.estgp.estgweb.domain.CourseDepartmentImpl" discriminator-value="CourseDepartmentImpl"/> |
139 | </class> |
142 | </class> |
140 | 143 | ||
141 | 144 | ||
142 | <class name="pt.estgp.estgweb.domain.CourseSchool" table="course_school" abstract="true"> |
145 | <class name="pt.estgp.estgweb.domain.CourseSchool" table="course_school" abstract="true"> |
143 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
146 | <meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
144 | <meta attribute="scope-class">public abstract</meta> |
147 | <meta attribute="scope-class">public abstract</meta> |
145 | <id name="id" type="long"> |
148 | <id name="id" type="long"> |
146 | <generator class="native"/> |
149 | <generator class="native"/> |
147 | </id> |
150 | </id> |
148 | <discriminator column="discrimitator"/> |
151 | <discriminator column="discrimitator"/> |
149 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
152 | <timestamp source="db" name="updateDate" unsaved-value="null"/> |
150 | <property name="saveDate" type="timestamp"/> |
153 | <property name="saveDate" type="timestamp"/> |
151 | <property name="institutionalCode" type="string"/> |
154 | <property name="institutionalCode" type="string"/> |
152 | <property name="initials" type="string"/> |
155 | <property name="initials" type="string"/> |
153 | <property name="active" type="boolean"> |
156 | <property name="active" type="boolean"> |
154 | <column name="active" default="true"/> |
157 | <column name="active" default="true"/> |
155 | </property> |
158 | </property> |
156 | <property name="name" type="string"/> |
159 | <property name="name" type="string"/> |
157 | <property name="nameEn" type="string"/> |
160 | <property name="nameEn" type="string"/> |
158 | <property name="nameEs" type="string"/> |
161 | <property name="nameEs" type="string"/> |
159 | <property name="nameFr" type="string"/> |
162 | <property name="nameFr" type="string"/> |
160 | 163 | ||
161 | <property name="schoolDirectorRole" type="string"/> |
164 | <property name="schoolDirectorRole" type="string"/> |
162 | <property name="schoolBoardRole" type="string"/> |
165 | <property name="schoolBoardRole" type="string"/> |
163 | <property name="schoolSecretariadoRole" type="string"/> |
166 | <property name="schoolSecretariadoRole" type="string"/> |
164 | 167 | ||
165 | <property name="ctcPresidentRole" type="string"/> |
168 | <property name="ctcPresidentRole" type="string"/> |
166 | <property name="ctcMemberRole" type="string"/> |
169 | <property name="ctcMemberRole" type="string"/> |
167 | <property name="ctcSecretariadoRole" type="string"/> |
170 | <property name="ctcSecretariadoRole" type="string"/> |
168 | 171 | ||
169 | <property name="pedagogicoPresidentRole" type="string"/> |
172 | <property name="pedagogicoPresidentRole" type="string"/> |
170 | <property name="pedagogicoMemberRole" type="string"/> |
173 | <property name="pedagogicoMemberRole" type="string"/> |
171 | <property name="pedagogicoSecretariadoRole" type="string"/> |
174 | <property name="pedagogicoSecretariadoRole" type="string"/> |
172 | 175 | ||
173 | <property name="funcionarioRole" type="string"/> |
176 | <property name="funcionarioRole" type="string"/> |
174 | <property name="studentRole" type="string"/> |
177 | <property name="studentRole" type="string"/> |
175 | <property name="teacherRole" type="string"/> |
178 | <property name="teacherRole" type="string"/> |
176 | 179 | ||
177 | <set name="departments" order-by="name asc" lazy="true"> |
180 | <set name="departments" order-by="name asc" lazy="true"> |
178 | <key column="school_id"/> |
181 | <key column="school_id"/> |
179 | <one-to-many class="pt.estgp.estgweb.domain.CourseDepartmentImpl"/> |
182 | <one-to-many class="pt.estgp.estgweb.domain.CourseDepartmentImpl"/> |
180 | </set> |
183 | </set> |
181 | <subclass name="pt.estgp.estgweb.domain.CourseSchoolImpl" discriminator-value="CourseSchoolImpl"/> |
184 | <subclass name="pt.estgp.estgweb.domain.CourseSchoolImpl" discriminator-value="CourseSchoolImpl"/> |
182 | </class> |
185 | </class> |
183 | 186 | ||
184 | 187 | ||
185 | </hibernate-mapping> |
188 | </hibernate-mapping> |