-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Mapping von Listen
PostPosted: Wed Jan 21, 2009 4:58 pm 
Newbie

Joined: Wed Jan 21, 2009 4:46 am
Posts: 3
Hallo,

ich habe noch ein Problem mit meiner Anwendung. Ich habe eine Messung, zu der MEssung gehören n Messwerte.
Die Messung soll im Programm eine IList<Messwert> enthalten. Der Messwert kann aber keine Property für die Messung, zu der der Wert gehört.
Ich habs mal mit folgendem Mapping probiert:

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>

Da hab ich aber das Problem, das die Messwerte nicht mit geladen werden, wenn ich die Messung aus der DB lade.
Muss ich im Mapping für den Messwert eine Referenz auf die MEssung einfügen? wenn ja, wie mache ich das, ohne das ich zum Messwert erst eine Property "Messung" anlegen muss?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 22, 2009 3:24 am 
Expert
Expert

Joined: Thu Jan 08, 2009 6:16 am
Posts: 661
Location: Germany
Du gibst in deinem Mapping für Messung.Values 'inverse="true"' an. Das bedeutet erstens, dass es sich um eine bidirektionale Beziehung handelt (was bei dir nicht der Fall ist), zweitens dass Messung nicht der Inhaber der Beziehung ist, sondern, dass es in Messwert ein Attribut Messung geben muss, dass darüber bestimmt, wohin ein Messwert gehört.

Wenn du unbedingt unidirektional bleiben willst, musst du das inverse entfernen. An deiner Stelle würde ich aber eine bidirektionale Beziehung erstellen, dies ist die von den Hibernate-Entwicklern empfohlene Vorgehensweise. Im Reference Guide findest du sicherlich noch nützliche Infos.

_________________
-----------------
Need advanced help? http://www.viada.eu


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 22, 2009 3:09 pm 
Newbie

Joined: Wed Jan 21, 2009 4:46 am
Posts: 3
Danke, das hat mir schon mal wieter geholfen.

Die Doku hatte ich gelesen, aber ein Satz wie
Das Attribut invers markiert das inverse Ende der Beziehung
bringt mich nicht großartig weiter


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.