Salut a tous ^^
Voila ce que je voudrais faire:
Une classe Zone (superficie, population, ...) et des classes qui l'étendent, par exemple Ville, Campagne.
Pour le moment, les classes Ville et Campagne sont vides (elles se contentent de récupérer les valeurs de leur classe mère), mais par la suite elles contiendront des trucs différents.
Pour le moment, ma base est comme ca:
zone
id
superficie
population
ville
id
zone_id
campagne
id
zone_id
En fait, c'est le mapping auquel j'aimerais arriver, c'est à dire que quand j'ajoute une Ville, toutes les infos communes sont dans la table zone, et la table ville ne contient qu'un id et une clé étrangere vers la zone créée.
Mon problème, c'est que pour le moment, quand je crée ma Ville, toutes les infos sont bien mappées vers la table zone, mais rien ne va dans la table ville.
J'ai suivi les stratégies décrites ici et j'ai ca pour arriver à la situation décrite au dessus, mais je suis même pas sur que la modélisation soit la bonne (pas d'id dans la classe zone?):
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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 <class name="Zone" table="zone"> <id name="id" type="long" column="id"> <generator class="sequence"> <param name="sequence">zone_id_seq</param> </generator> </id> <discriminator column="type_zone" type="string"/> <property name="superficie" type="int"> <column name="superficie" not-null="true"/> </property> <property name="population" type="int"> <column name="population" not-null="true"/> </property> <subclass name="Ville" discriminator-value="V"> <!--<join table="ville"> <key column="zone" /> </join>--> </subclass> <subclass name="Campagne" discriminator-value="C"> <!--<join table="campagne"> <key column="zone" /> </join>--> </subclass> </class>
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Class Zone { Integer superficie; Integer population; } Class Ville extends Zone { Long id; }
NB: j'ai du rajouter un champ type_zone comme discriminateur dans la table zone
Un conseil pour m'aider?
Partager