PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Persistenzframework (XML/DBMS) gesucht



AceTheFace
02-03-2007, 12:25
Hallo,

ich bin gerade an der Planung für die Persistenzschicht einer pluginbasierten Anwendung.

Folgende Anforderungen sollten erfüllt sein:

(einfache) Möglichkeit zum Umschalten zwischen XML-basiert und Datenbankbasiert
Keine globale Config-Datei (da pluginbasierte Anwendung weiss ich vorher nicht welche Plugins existieren und kann somit vorher keine globale Config-Datei erstellen welche Mappings existieren)
möglichst Abstrakt, so dass ich bei Änderung des Speicherformats (XML/DB) die Plugins am besten nicht ändern muss (am liebsten würde ich einfach nur gerne myClass.store() aufrufen und gut ist, also keine sql-statements oder file-writer-jongliererei innerhalb der plugins)


Ich habe mir bisher die Frameworks von http://java-source.net/open-source/persistence angeschaut. Doch leider war soweit ich es gesehen habe nichts passendes dabei. Bei Hibernate habe ich v.a. das Problem mit der globalen Konfigurationsdatei, die ich halt erst füllen könnte nachdem meine Plugins geladen wurden. Ausserdem bin ich mir nicht sicher ob man bei Hibernate auch auf XML-Basis arbeiten kann.

Wäre nett wenn mir jemand einen Tipp hat. Vielleicht sind meine Wünsche ja auch einfach zu speziell oder unrealistisch. Auch dann wäre ein Hinweis nett, dann schraube ich die Anforderungen zurück :)

Vielen dank, Gruß,
Ace

fs111
03-03-2007, 09:23
Ich bin mir nicht sicher was Du jetzt genau meinst, aber auf der Arbeit haben wir unsere eigenen lib zum zugreifen auf die Daten und die kann entweder auf die DB direkt gehen, oder serialisierte JAXB-Objekte von der Platte lesen, evtl. ist ja JAXB was für Dich.

fs111

Waxolunist
04-03-2007, 20:35
Ich denke du meinst mit DB-basiert relationale Datenbanken?

Ansonsten würde ich dir einmal native XML DBs oder relationale XMLDBs (z.B. Oracle) ans Herz legen.

Ich glaube, so weit ich mich erinnern kann, ist die Oracle Express XML-able.

Du musst, wenn du DAOs oder Beans (je nachdem) XML serializieren musst, dafür noch eine extra Schicht schreiben, oder JAXB nehmen.

Ich würde einfach ganz normal meine Beans schreiben und diese dann mit einer getXML-Methode erweitern.

mfg, christian

AceTheFace
12-03-2007, 13:29
Ups, ich habe wohl vergessen das Thema zu abonnieren, 'tschuldigung...

Ich habe mich nun doch für Hibernate entschieden. Ausschlaggebend war, dass ich die Methode Configuration.addClass()-Methode in der Doku entdeckt habe, mit der ich die zu nutzenden Mappings bequem zur Laufzeit festlegen kann.
Desweiteren hab ich meine Wunsch von XML-basiert einfach auf Dateibasiert (also kein DB-Server nötig) herabgesetzt und Hibernate kann prima mit HSQLDB (im in-process-mode) umgehen.

Dass ich jetzt tierische Probleme mit dem Mapping meiner Userstruktur (basiert auf dem composite-pattern auf basis eines interface) steht dabei nat. auf einem anderen Blatt :)

Gruß und danke,
Ace