Re: Hibernate Profi gesucht

From: Christoph Sandhaus <Christoph.Sandhaus@gmx.de>
Date: Wed Jun 28 2006 - 20:00:25 CEST

Am Mittwoch Juni 28 2006 19:43 schrieb Norman Messtorff:
> Profi nicht unbedingt, aber ich habe es auf meinem Notebook eingerichtet.
> Wie kann man dir denn helfen?

Uii *freu*

> Dümdidei,

Damit ist es gleich vorbei. :D
Hoffentlich kann ich das plausibel erklären.

Ich möchte eine Artikelliste verwalten. Allerdings kenne ich die Eigenschaften
der Artikel nicht, denn die sollen zur Laufzeit definiert werden können.

Somit habe ich eine Tabelle ArticleProperties mit einem Key "ID", und einem
Value "Name". Wenn der Anwender 3 Eigenschaften für seine Artikel definieren
möchte, so entsteht nun eine Tabelle ArticleProperties:

id name
===========
01 Name
02 Farbe
03 Gewicht

Die Tabelle mit den Artikeln hat nun pro Artikel und Eigenschaft einen
Eintrag. Angenommen es gibt jetzt 2 Artikel (id 1 und 2), dann würde die
Artikel Tabelle so aussehen
id propId value
01 01 Geldbörse
01 02 blau
01 03 0,5
02 01 Stuhl
02 02 grün
02 03 3,1

Also habe ich eine n:1 Verknupfung von Artikel zur Property über die
PropertyId. Ein Artikel setzt sich aus mehreren Zeilen zusammen.

Das Problem:
_ich_ kenne Hibernate nur soweit, daß ich bei der Implementierung der Klassen
für die Properties die entsprechenden getter/setter Methoden benötige.

Da ich zum Zeitpunkt der Implementierung die eigenschaften nicht kenne, kann
ich die Eigenschaften nur in einer Map unterbringen.

Ergo wird eine Property in der Klasse Article mit Key/Value Paaren gesetzt,
z.B.:
class Article {
        private Map properties = new HashMap();

        public void setProperty ( Integer id, String value) {
                properties.put (id, value);
        }
}

Aber WIE erkläre ich Hibernate, an eine Methode Key/Value Paare zu
übergeben??? Zumal sich ein Artikel aus mehreren Zeilen zusammensetzt?

Ich habe mich jetzt kurz gefaßt, weitere Erkärungen liefere ich gerne.
Hauptsache das Problem ist verstanden.
Ich möchte halt vermeiden, daß ich zur Laufzeit die Datenbanktabellen ändern
muß, falls sich die Eigenschaften der Artikel ändern.

1000 Dank für jede Idee und Gruß,
Christoph
Received on Wed, 28 Jun 2006 20:00:25 +0200

This archive was generated by hypermail 2.1.8 : Wed Jun 28 2006 - 20:00:40 CEST