Bonjour !
Voici ma problématique,
- Base de données (que je simplifie volontairement) :
PERIMETRE (PERIMETRE_ID, DISCRIMINANT_PERIMETRE)
PERIMETRE_POLYGONE (ID_PERIMETRE, LATITUDE, LONGITUDE, ORDRE)
PERIMETRE_REPERAGE (ID_PERIMETRE, BORNE_INF, BORNE_SUP, SENS)
- Modèle de classe,
Un classe mère Perimetre et 2 classes filles PerimetreReperage et PerimetrePolygone. Ces 2 dernières contiennent une propriété :
- Mapping,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 /// <summary> /// Repérages délimitant le périmètre /// </summary> private IList _listeReperages = new ArrayList(); public IList ListeReperages { get { return _listeReperages; } set { _listeReperages = value; } }
J'aimerais pouvoir trier mon second bag directement dans le mapping, car un polygone est une suite de points ordonnées. Ce tri est donné en base grâce à la colonne ORDRE.
Code : 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 <class name="Perimetre" table="PERIMETRE" discriminator-value="0"> <id name="_uniqueID" type="Int64" column="PERIMETRE_ID" unsaved-value="0" access="field"> <generator class="assigned"/> </id> <discriminator column="DISCRIMINANT_PERIMETRE" type="System.Int32" force="true"/> <subclass name="PerimetreReperage" discriminator-value="1"> <bag name="ListeReperages" table="PERIMETRE_REPERAGE" lazy="false" cascade="none" fetch="select"> <key column="ID_PERIMETRE"></key> <composite-element class="Reperage"> <nested-composite-element name="BorneInf" class="Borne"> <property name="Borne" column="BORNE_INF" type="System.Double"/> </nested-composite-element> <nested-composite-element name="BorneSup" class="Borne"> <property name="Borne" column="BORNE_SUP" type="System.Double"/> </nested-composite-element> <property name="Sens" column="SENS" type="SensEnum"/> </composite-element> </bag> </subclass> <subclass name="PerimetrePolygone" discriminator-value="2"> <bag name="ListeReperages" table="PERIMETRE_POLYGONE" lazy="false" cascade="none" fetch="select"> <key column="ID_PERIMETRE"></key> <composite-element class="ReperagePonctuelCardinalPolygone"> <property name="Latitude" column="LATITUDE" type="System.Double"/> <property name="Longitude" column="LONGITUDE" type="System.Double"/> </composite-element> </bag> </subclass > </class>
Je vous remercie d'avance si vous avez des pistes à me soumettre.
Partager