-->
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: Zusammengesetzte Schlüssel mit Entität
PostPosted: Tue Nov 23, 2010 10:14 am 
Newbie

Joined: Tue Nov 23, 2010 9:42 am
Posts: 3
Hallo,

ich bin relativ neu bei Hibernate und versuche gerade unsere Datenbank per Hibernate mit Annotationen zu mappen.
Dabei habe ich ein grundlegendes Problem, bei dem ich nicht weiter komme.
Viele Entitäten bei uns haben im Schlüssel eine Firma enthalten, die wiederum selbst ein Entität ist.

Beispieltabelle Firma:
int firma_id
varchar bezeichnung

Beispieltabelle Kostenstelle:
int ko_firma_id
int kostenstellen_id
varchar bezeichnung

Die Klasse der Kostenstelle müsste nun (stark vereinfacht) so aussehen:

Code:
public class Kostenstelle {

  private Firma firma;
  private int id;
  private String bezeichnung;


  // getter und setter

}

Somit muss ich bei der Kostenstelle mit einem zusammengesetzten Schlüssel arbeiten.
Ich habe schon einiges probiert mit EmbeddedId und MapsId bekomme es aber nicht richtig hin, so das die Id der Firma auf das Feld ko_firma_id gemappt wird.

Wie macht man es richtig, so das man mit dem Objekt Firma und einem Integerwert die Kostenstelle laden kann?

Als zweites stellt sich mir die Frage, wie eine Kostenstelle z.B. in einem Buchungssatz-Objekt angegeben wird mit den beiden Parameter Firma und Kostenstellen-Id.

Vielen Dank für eure Hilfe im voraus!


Top
 Profile  
 
 Post subject: Re: Zusammengesetzte Schlüssel mit Entität
PostPosted: Wed Dec 01, 2010 12:08 pm 
Senior
Senior

Joined: Fri May 08, 2009 12:27 pm
Posts: 168
Nimm das Reverse-Engineering-Tool, das macht sowas schon jetzt richtig.
Du wirst eh nicht glücklich, wenn Du bestehende Tabellen manuell übernimmst, die Fehlerquote ist viel zu hoch. Das Reverse Engineering ist zwar ziemlich "zickig", aber wenn man's mal zur Zusamenarbeit überredet hat, kriegt es so grundsätzliche Sachen wie Primärschlüssel (auch zusammengesetzte) und Feldbreiten recht zuverlässig hin.

Ach, und Annotations würd ich im Moment vermeiden. Das Reverse Engineering generiert die Annotations dafür nicht richtig. Wenn Reverse Engineering, dann eben (leider) doch mit .hbm.xml.
Eines der nächsten Releases von Hibernate Tools soll dafür eine Korrektur bringen, aber im Moment geht's halt nicht.


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.