File: /var/www/html/unitime/target/classes/ExamConflict.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* The Apereo Foundation licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*
-->
<hibernate-mapping package="org.unitime.timetable.model">
<class name="ExamConflict" table="xconflict">
<cache include="non-lazy" usage="transactional"/>
<id
name="uniqueId"
column="uniqueid"
type="java.lang.Long">
<generator class="org.unitime.commons.hibernate.id.UniqueIdGenerator">
<param name="sequence">pref_group_seq</param>
</generator>
</id>
<property
name="conflictType"
column="conflict_type"
type="java.lang.Integer"
length="10"
not-null="true"/>
<property
name="distance"
column="distance"
type="java.lang.Double"
not-null="false"/>
<property
name="nrStudents"
type="java.lang.Integer"
formula="(select count(*) from %SCHEMA%.xconflict_student x where x.conflict_id = uniqueid)"/>
<property
name="nrInstructors"
type="java.lang.Integer"
formula="(select count(*) from %SCHEMA%.xconflict_instructor x where x.conflict_id = uniqueid)"/>
<set
name="exams"
table="xconflict_exam"
inverse="true"
lazy="false">
<cache include="non-lazy" usage="transactional"/>
<key column="conflict_id" foreign-key="fk_xconflict_ex_conf"/>
<many-to-many
class="Exam"
column="exam_id"
foreign-key="fk_xconflict_ex_exam"/>
</set>
<set
name="students"
table="xconflict_student"
lazy="true">
<cache include="non-lazy" usage="transactional"/>
<key column="conflict_id" foreign-key="fk_xconflict_st_conf"/>
<many-to-many
class="Student"
column="student_id"
foreign-key="fk_xconflict_st_student"/>
</set>
<set
name="instructors"
table="xconflict_instructor"
lazy="true">
<cache include="non-lazy" usage="transactional"/>
<key column="conflict_id" foreign-key="fk_xconflict_in_conf"/>
<many-to-many
class="DepartmentalInstructor"
column="instructor_id"
foreign-key="fk_xconflict_in_instructor"/>
</set>
</class>
</hibernate-mapping>