-->
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.  [ 5 posts ] 
Author Message
 Post subject: Union in Hibernate
PostPosted: Thu Jan 17, 2008 8:10 am 
Newbie

Joined: Tue May 29, 2007 2:50 am
Posts: 12
Hallo zusammen

Ich will folgendes machen:
Ich habe zwei Tabellen (die KANN ich nicht ändern) mit verschiedenen Spalten. Nun will ich einige der Spalten, der beiden Tabellen auf eine Klasse mappen. Die Spalten die von den beiden Tabellen jeweils zusammen gehören haben den selben Datentyp, aber unterschiedliche Namen.

Beispiel

TABELLE 1
Datum | Text
--------------------
08.08.08| Regen

TABELLE 2
Date | Content
--------------------
07.07.07| Schnee

KLASSE (bzw. Objekt, Mapping)
date | content
----------------------
08.08.08| Regen
----------------------
07.07.07| Schnee

Problem:
Ich weiss nicht wie? Mit <union-subclass> ist es nicht möglich, da die beiden Tabellen auf drei Objekte gemappt werden. Ich brauch und will keine Vererbung.
Ich könnte natürlich die beiden Tabellen einzeln mappen und dann im Code zusammenfügen und sortieren, das ist jedoch sehr unschön.
Würde ich einen Sql-Union verwenden, muss ich die Daten wieder umständlich in Java-Objekte mappen.
HQL unterstützt kein union.

Ideen? Tipps? Fragen zur Frage? DANKE!


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 19, 2008 2:43 pm 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
wenn nur lesen, dann einen subselect im XML verwenden.
oder
doch Union Subclass verwenden und einfach nur die Parentklasse nutzen.

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 21, 2008 3:03 am 
Newbie

Joined: Tue May 29, 2007 2:50 am
Posts: 12
Danke!
Gibt es irgendwo gute Beispiele für die Verwendung von <subselect>? Oder kannst du mir sagen wie ich die oben abgebildete Struktur mappen müsste.


Nachtrag: Wäre das für das Beispiel korrekt?

Code:
<class name="Summary">
    <subselect>
        select Datum as Date, Text as Content
        from TABELLE1
    </subselect>
    <synchronize table="TABELLE2"/>
</class>


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 21, 2008 6:19 am 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
Vielleicht im Test Package zu Hibernate Source. Alternativ im Source Download zu meinem Hibernate Buch beim Galileo Verlag.

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 22, 2008 5:14 am 
Newbie

Joined: Tue May 29, 2007 2:50 am
Posts: 12
Danke!

Ich habe zwar einige Skripts gefunden, aber wirklich auf die Sprünge helfen sie mir nicht, da die Beschreibung dazu fehlt.

Ist die folgende Annahme korrekt (ich habe im Moment leider noch keine Möglichkeit, das Ganze zu testen):

Die Resultate des Subselects werden anhand der Namen bzw. den Alias im SQL zu den Datensätzen der TABELLE 2 hinzugefügt. Wenn ich nun einen Lesezugriff ausführe, werden alle Datensätze der TABELLE1 und TABELLE2 beachtet?

Danke und Gruss
poffi


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