File: /var/www/html/unitime/JavaSource/SolverInfo.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="SolverInfo"
table="solver_info"
discriminator-value="0"
abstract="true">
<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">solver_info_seq</param>
</generator>
</id>
<discriminator
column="type"
type="java.lang.Integer"
not-null="true"
length="3"/>
<property
name="data"
column="value"
type="byte[]"
not-null="true"/>
<property
name="opt"
column="opt"
type="java.lang.String"
not-null="false"
length="250"/>
<many-to-one
name="definition"
class="SolverInfoDef"
column="solver_info_def_id"
not-null="false"
foreign-key="fk_solver_info_def"/>
<subclass name="SolutionInfo" discriminator-value="1">
<many-to-one
name="solution"
class="Solution"
column="solution_id"
not-null="true"
foreign-key="fk_solution_info"/>
</subclass>
<subclass name="AssignmentInfo" discriminator-value="2">
<many-to-one
name="assignment"
class="Assignment"
column="assignment_id"
not-null="true"
foreign-key="fk_assignment_info"/>
</subclass>
<subclass name="ConstraintInfo" discriminator-value="3">
<set name="assignments" table="constraint_info">
<cache include="non-lazy" usage="transactional"/>
<key column="solver_info_id"/>
<many-to-many
class="Assignment"
column="assignment_id"
foreign-key="fk_constraint_info_assignment"/>
</set>
</subclass>
</class>
</hibernate-mapping>