Hibernate Dynamische Tables

moessi91

Bekanntes Mitglied
Hallo liebe Community,
ich programmiere derzeit ein Programm zur Verwaltung von Artikeln. Ich verwende für meine Klassen Hibernate, da sich jetzt wie man das ja so kennt die Auftragsstellung verändert hat möchte der Kunde jetzt beliebige vorlagen für seine Artikel erstellen. Sprich er möchte quasi die Attribute zu seinem Objekt während der Laufzeit verändern. Bsp.:
Ich möchte jetzt einen Artikel erstellen mit den Attributen:
Name Gewicht Preis einkauf Preis verkauf
und vl nächsten Monat einen anderen Artikel.
Ist es mit Java möglich bzw. mit Hibernate möglich soetwas zu realisieren?

Lg
 

eMmiE

Bekanntes Mitglied
Hi,
ich würde mal sagen, dass das bei Java ein basic ist -> Klassen

Du erstellst also einfach eine Klasse Artikel und der übergibst du dann deine Variablen...
Ob Hibernate (was auch immer das ist:oops:) daran was ändert weiß ich nicht.

Wenn er einen neuen Artikel erstellen will, dann würde ich (in der Anwendung) einfach ein Fenster öffnen, wo er die Variablen mit Namen einsetzen kann (vllt. mit Bildchen) und dann in der ArrayList<Artikel> abspeichert

Gruß eMmiE

P.S.: Hoffe du bist nich beleidigt, weil das ein absolutes basic ist und ich das einfach mal so poste, aber so gesehn ist die Frage auch ein bisschen merkwürdig:rtfm:
 

moessi91

Bekanntes Mitglied
Ja das weiß ich schon ^^ was wenn ich aber bei der Programmierung noch gar nicht weiß was ich der Klasse übergeben will ^^ das meine ich ja. Wenn die zum Beispiel einen neuen Artikel anlegen sollen Sie beliebig viele eigenschaften eintragen können. Also gramm und so weiter. Das ganze soll während der Laufzeit geschehen nicht beim Programmieren.
 

eMmiE

Bekanntes Mitglied
Du weißt aber schon ungefähr, was die Artikel beschreiben soll?
D.h. bei Zimmerpflanzen ist eher die Art interessant, als der Platz, den das Ding wegnimmt o.Ä.

Eine (etwas kompliziertere) Idee ist, dass du erstmal eine neue Klasse schreibst, die erstmal ALLES sein kann.
Das stelle ich mir so vor, dass du einfach von Number und String abhängig machst und dann mithilfe einer boolean festlegst, ob du jetzt den String oder den Number-Wert benutzen willst.
Diese Klasse kannst du dann auch in eine ArrayList schreiben.

(Für die GUI müsstest du dann eben festlegen, dass der Artikel nur so viele Attribute haben darf, dass das nicht den Rahmen deines Fensters sprengt)

Generell würde ich aber sagen, dass du nur (was weiß ich?) Maße,Rohstoffe,Konstellation,Was zu beachten ist und vllt. noch einen String für ein Kommentar zu den Artikeln brauchst.

Versuch dich halt so gut es geht einzuschränken

Gruß eMmiE

P.S.: Komplizierter Kunde...
 

ToM912

Mitglied
Wenn ich das jetzt richtig verstanden habe möchtest du bzw. der Kunde zur Laufzeit, dass ein Artikel beliebig viele Attribute haben kann ?

Mach dich mal über das Softwareentwurfsmuster "Decorator Pattern" schlau :) Das sollte dir helfen ;)

Hibernate bekommt das auch hin, allerdings wirst du für diese Implementierung länger brauchen.
Ich musste noch nie columns zur Laufzeit hinzufügen. Kann dir deßhalb da nicht weiterhelfen ;)

Ich würde nochmal mit dem Kunden sprechen an deiner Stelle. :)
 

moessi91

Bekanntes Mitglied
Ich habe mir über decorators auch schon gedanken gemacht, die sache ist halt wieder dass man die ja nicht zur laufzeit ändern kann.
Ich hab bei java bis jetzt nur eine lösung gefunden und das ist eine klasse welche eine map mit objekten beinhaltet wo man dann quasi einfach eingeben kann was man möchte also:
HashMap<String, Object> map = new HashMap();
add("alter", new Integer("4");
Hier könnte ich dann quasi so viele machen wie ich will und alles machen wie ich will allerdings wird dann alles in einer Tabelle gespeichert und das ist ja auch nicht sinn der sache.
Habe hier jetzt mal das gefunden, sieht relativ gut aus. Muss mich noch schlauer darüber machen.
 

ARadauer

Top Contributor
Ich würde das auch als key value pairs mit einer hashmap abbilden. Ist mit hibernate kein Problem. Natürlich brauchst du eine zweite Tabelle in der du die Attribute als Zeilen ablegst. Eine geht schwer...
 

Ähnliche Java Themen


Oben