--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<!--
+* Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
+* (2 décembre 2008)
+*
+* Ce logiciel est un programme informatique servant à l'évaluation des
+* compétences.
+*
+* Ce logiciel est régi par la licence CeCILL soumise au droit français et
+* respectant les principes de diffusion des logiciels libres. Vous pouvez
+* utiliser, modifier et/ou redistribuer ce programme sous les conditions
+* de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
+* sur le site "http://www.cecill.info".
+*
+* En contrepartie de l'accessibilité au code source et des droits de copie,
+* de modification et de redistribution accordés par cette licence, il n'est
+* offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
+* seule une responsabilité restreinte pèse sur l'auteur du programme, le
+* titulaire des droits patrimoniaux et les concédants successifs.
+*
+* A cet égard l'attention de l'utilisateur est attirée sur les risques
+* associés au chargement, à l'utilisation, à la modification et/ou au
+* développement et à la reproduction du logiciel par l'utilisateur étant
+* donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+* manipuler et qui le réserve donc à des développeurs et des professionnels
+* avertis possédant des connaissances informatiques approfondies. Les
+* utilisateurs sont donc invités à charger et tester l'adéquation du
+* logiciel à leurs besoins dans des conditions permettant d'assurer la
+* sécurité de leurs systèmes et ou de leurs données et, plus généralement,
+* à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
+*
+* Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+* pris connaissance de la licence CeCILL, et que vous en avez accepté les
+* termes.
+-->
+<hibernate-mapping package="com.pentila.evalcomp.domain.definition">
+ <class name="EvaluationObject" table="evaluationobject">
+ <cache include="all" usage="read-write"/>
+ <id column="id" name="Id" type="java.lang.Long">
+ <generator class="native"/>
+ </id>
+ <property column="name" generated="never" index="IDX_EO_NAME"
+ lazy="false" name="name" type="string"/>
+ <property column="description" generated="never" index="IDX_EO_DESC"
+ lazy="false" name="description" type="text"/>
+ <property column="descriptionlong" generated="never" index="IDX_EO_DESCLONG"
+ lazy="false" name="descriptionLong" type="text"/>
+ <property column="idref" generated="never" index="IDX_IDREF"
+ lazy="false" name="idRef" type="java.lang.Long"/>
+
+ <property name="version" type="string" column="version" />
+ <property name="dateVersion" type="string" column="dateVersion" />
+ <property name="reference" type="string" column="reference" />
+
+ <set cascade="all" inverse="true" lazy="true" name="domains" sort="unsorted">
+ <cache include="all" usage="read-write"/>
+ <key column="parent"/>
+ <one-to-many class="Domain"/>
+ </set>
+ <set cascade="save-update" lazy="true" name="evaluationSubjects"
+ sort="unsorted" table="evaluationsubject_evaluationobject">
+ <key column="evaluationobject"/>
+ <many-to-many class="EvaluationSubject" column="evaluationsubject" unique="false" foreign-key="FK_EO_ES"/>
+ </set>
+ <set inverse="true" name="affectations" sort="unsorted">
+ <key column="evaluationobject"/>
+ <one-to-many class="com.pentila.evalcomp.domain.Affectation"/>
+ </set>
+ <set cascade="all" inverse="true" lazy="true"
+ name="userValidationInstances" sort="unsorted">
+ <key column="evaluationobject"/>
+ <one-to-many class="com.pentila.evalcomp.domain.certification.UserValidationInstance"/>
+ </set>
+ <joined-subclass name="Referentiel" table="referentiel">
+ <key column="id"/>
+ <set name="planRefs" sort="unsorted">
+ <key column="referentiel"/>
+ <one-to-many class="com.pentila.evalcomp.domain.plan.PlanRef"/>
+ </set>
+ </joined-subclass>
+ <joined-subclass name="Domain" table="domain">
+ <key column="id"/>
+ <many-to-one class="EvaluationObject" column="parent"
+ foreign-key="FK_DOM_EO" index="IDX_DOM_PARENT" lazy="false" name="parent"/>
+ <set cascade="all" inverse="true" lazy="true" name="competences" sort="unsorted">
+ <cache include="all" usage="read-write"/>
+ <key column="domain"/>
+ <one-to-many class="Competence"/>
+ </set>
+ </joined-subclass>
+ <joined-subclass name="Competence" table="competence">
+ <key column="id"/>
+ <many-to-one class="Domain" column="domain" foreign-key="FK_COM_DOM"
+ index="IDX_C_DOM" lazy="proxy" name="domain"/>
+ <property column="required" generated="never" index="IDX_C_REQ"
+ lazy="false" name="required" type="boolean"/>
+
+ <set cascade="none" inverse="true" name="questions" sort="unsorted">
+ <key column="competence"/>
+ <one-to-many class="com.pentila.evalcomp.domain.examen.Question"/>
+ </set>
+ <set name="familles" inverse="true" lazy="true" cascade="all">
+ <key>
+ <column name="competence" />
+ </key>
+ <one-to-many class="com.pentila.evalcomp.domain.examen.Famille" />
+ </set>
+
+ </joined-subclass>
+ </class>
+</hibernate-mapping>