Hallo zusammen,
ich habe eine Anwendung, in der ich verschiedene Aufträge verwalte.
Die Aufträge sind einem Projekt zugeordnet.
Zu den Aufträgen gehören jeweils eine Messung (Measurement1) und eine Kontrollmessung (Measurement2)
Die Messungen wiederum enthalten eine IList von Messwerten.
Ich habe dafür die folgenden Mappings angelegt:
Auftrag:
<class name="Task">
<id name="ID" column="ID" >
<generator class="native" />
</id>
<many-to-one name="Project" class="Project" column="ProjectID" cascade="all" />
<property ... />
<property ... />
<many-to-one name="Measurement1" class="Measurement" column="Measurement1ID" cascade="all" lazy="false" />
<many-to-one name="Measurement2" class="Measurement" column="Measurement2ID" cascade="all" lazy="false" />
</class>
Messung:
<class name="Measurement">
<id name="ID" column="ID" >
<generator class="native" />
</id>
<property ... />
<bag name="Values" cascade="all" lazy="false" inverse="true">
<key column="MeasurementID" />
<one-to-many class="MeasurementValue"/>
</bag>
</class>
Messwert:
<class name="MeasurementValue">
<id name="ID" column="ID" >
<generator class="native" />
</id>
<property name="Timestamp" not-null="true" />
<property name="SensorNr" not-null="true" />
<property name="Value" not-null="true" />
<property name="State" />
</class>
Zum einen weiss ich nicht genau, ob das Mapping zwischen Auftrag und Messung stimmt. Ich habe ja in Auftrag 2 verweise auf die gleiche Klasse / Datenbanktabelle. Dazu hab ich keine Anleitung gefunden.
Zum anderen kann ich keinen Auftrag speichern. Wenn ich mit Session.Save() den Auftrag speichern will läuft er in eine Art Endlosschleife. Ich bekomme keine Exception, aber das PRogramm hängt an dieser Stelle.
Was muss ich am Mapping korrigieren?
|