-->
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.  [ 1 post ] 
Author Message
 Post subject: Auf andere Klasse mappen nach Spaltenwert (nicht subclass)
PostPosted: Thu Dec 01, 2005 2:52 pm 
Beginner
Beginner

Joined: Thu Dec 01, 2005 1:09 pm
Posts: 33
Hallo,

ich habe eine Tabelle, die für ziemlich viel Verschiedenes missbraucht wird.

Es gibt u.a. folgende Spalten:

PK (int): selbsterklärend

CODE (int): ein FK (heißt das so?) bzw. NULL

BESCHREIBUNG (string): selbsterklärend

Da gibt es dann bspw. folgenden Eintrag:

PK = 1234
Code = NULL
Beschreibung = Foobar

Und dann jede Menge Einträge mit:

PK = irgendwas
Code = 1234
Beschreibung = Blablabla

Die interessieren mich.

Aber auch ein paar mit

PK = irgendwas
Code = 5678
Beschreibung = Blubb

Nun möchte ich also alle Zeilen mit Code=1234 haben.
Am besten Fall wäre es sogar, wenn er einmal beim Programmstart so etwas machen würde:

select CODE from TABELLE where BESCHREIBUNG='Foobar';

Zur Not könnte ich die 1234 auch noch per Hand eintragen.

Was aber später funktionieren soll ist, dass beim Speichern des gemappten Objekts automatisch die Spalte CODE auf 1234 gesetzt wird und dass man beim Laden unterscheiden kann, ob es generell kein Objekt mit dem angegebenen PK gibt oder ob es zwar eins gibt, der CODE aber nicht zum angefragten Typ passt.

Am besten auch eine Methode, die

select * from TABELLE where CODE=1234;

ausführt.

Ich bekomme das alles mit (N)Hibernate-Queries hin, aber ich dachte, es gibt vielleicht schon einen fertigen Mechanismus.
Habe gesehen, dass es discriminator und subclass gibt.
Das klangt schon ganz gut, nur sind die Klassen, die die Tabelle verwenden, bei mir nicht verwandt. Es gibt nämlich noch ein paar mehr Spalten und die können bei einem Objekt mit CODE=5678 für etwas völlig anderes stehen (und die Variable soll im Code auch anders heißen) als bei einem mit CODE=1234.

Vielen Dank im Voraus für Hinweise.


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

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.