-->
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.  [ 2 posts ] 
Author Message
 Post subject: Mapping einer Map mit Set
PostPosted: Wed Apr 25, 2007 9:15 am 
Newbie

Joined: Wed Apr 25, 2007 8:23 am
Posts: 8
Hibernate-Version 3.2


Hallo,

ich darf folgende Kleinigkeit in Hibernate abbilden:

public abstract class Vst
{
private Map<Vst, Set<Guelt>> p = new HashMap<Vst, Set<Guelt>>();
...
}

Guelt ist auch eine selbstgebaute Klassen.
Zu Guelt gibt es kein Mapping, soll also in dieses hineingenommen werden.

Was steckt dahinter:
Eine Vst (Vertriebsstelle) gehört zu einer Ober-Vst.
Die Zugehörigkeit kann wechseln und auch wieder zurückwechseln. Die Zugehörigkeitszeiträume sind überschneidungsfrei.

Z.Bsp:

Vst p (Vst Guelt)
----------------------------------------------
01 101 01.01.2000 - 31.12.2001
01.01.2003 - 31.12.2003
102 01.01.2002 - 31.12.2002
01.01.2004 - offen



Mapping-Versuch:

<class name="Vst" table="VST">
...

<map name="p" table="VST_BEZ" >

<key column="CHILD_VST_ID" />

<map-key-many-to-many column="PARENT_VST_ID" class="Vst" />

<composite-element class="java.util.Set">
<nested-composite-element name="xx" class="Guelt">

<property name="von" type="de.bla.Date">
<column name="VON">
</column>
</property>

<property name="bis" type="de.bla.Date">
<column name="BIS">
</column>
</property>

</nested-composite-element>
</composite-element>

</map>
</class>
...

(sorry für de.bla -> verkürzt)

Generiert wird folgendes:
create table stmd.VST_BEZ (
CHILD_VST_ID bigint not null,
VON timestamp,
BIS timestamp,
PARENT_VST_ID bigint not null,
primary key (CHILD_VST_ID, PARENT_VST_ID)
);


Was gibt es meckern:

<nested-composite-element name="xx" class="Guelt">
-> name ist Pflichtfeld, taucht aber nirgends auf

primary key (CHILD_VST_ID, PARENT_VST_ID)
-> ist nicht eindeutig (Eindeutigkeit nur zusammen mit VON bzw VON und BIS)

Wie kann man das korrekt machen ?
Ich habe schon reichlich gestöbert und ausprobiert, aber nichts hat funktioniert.

Natürlich kann man das Java-Modell ändern, aber eigentlich solls so laufen.

Schon mal danke für eure Hilfe.

NoLa


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 09, 2007 4:14 am 
Newbie

Joined: Wed May 09, 2007 4:08 am
Posts: 2
Hey nola!

Ich habe das gleiche Problem und versuche schon seit Tagen, verschachtelte Collections zu mappen (also z.B. Map<String, Set<String>> oder List<String, Map<String, List<String>>>). Soweit ich es aber sehe, ist es mit Hibernate nicht möglich, nested collections zu mappen, d.h. tags wie <list>, <bag>, <map> oder <nested-composite-element> rekursiv zu verwenden.

Falls es doch möglich ist, lasse ich mich aber gerne eines besseren belehren :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 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.