Subversion Repositories bacoAlunos

Rev

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>