1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <!-- exemple d'héritage -->
<!--
Personne <----- Indep
|---- Salarie -->
<!-- personne.hbm.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hr" schema="public">
<class name="Personne" table="people">
<id name="id" column="id">
<generator class="sequence">
<param name="sequence">HR_SEQ</param>
<param name="initial_value">1</param>
</generator>
</id>
<property name="addr" />
<property name="name" />
<property name="lastname" />
<property name="year"/>
<!-- les objets : Email, Tel-->
<component name="email" class="Email">
<property name="eaddr" type="java.lang.String"/>
</component>
<component name="tel" class="Tel">
<property name="country" />
<property name="number"/>
<property name="prefix" />
</component>
<!-- stratégie utilisée : une table par classe fille voir fichier séparé-->
</class>
</hibernate-mapping>
<!-- Indep.hbm.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hr" schema="public">
<joined-subclass name="Indep" extends="Personne" table="Freelance">
<key column="id"/>
<property name="company" column="corp"/>
</joined-subclass>
</hibernate-mapping>
<!-- Salarie.hbm.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="hr" schema="public">
<joined-subclass name="Salarie" extends="Personne" table="Employe">
<key column="id"/>
<property name="dept" column="dept"/>
<property name="fct" column="function"/>
</joined-subclass>
</hibernate-mapping> |