2009-06-18 5 views
5

Ich brauche ein objektorientiertes Datenrepository für ein Projekt.
Es wird etwas zwischen einem Wiki und einem CMS sein.Mit welcher Datenbank-Technologie könnte ich Objekte persistieren? (Etwas, das mich NICHT erfordert, um Objekte auf Tabellen und zurück abzubilden)?

Ich bin noch kein Experte auf dem Gebiet der Persistenz.
Ich nehme an, Hibernate und Jackrabbit sind die Rahmenbedingungen zu gehen, oder?

Soweit ich richtig informiert bin, Hase tut nicht Unterstützung
Anmerkungen oder andere Bequemlichkeit Techniken für die Zuordnung
zwischen Objektinstanzen und Datenspeicherung.

Hibernate, auf der anderen Seite, macht nicht Unterstützung Versionierung
out-of-the-Box.

Was würden Sie mir empfehlen?
Könnte ich diese beiden Frameworks kombinieren?

Könnten Sie auch, wenn möglich, die Vor- und Nachteile der beiden Frameworks zusammenfassen?

Vielen Dank!

EDIT
Ich möchte wirklich etwas verwenden, die mich nicht auf Tabellen-Objekte kümmern sich um Mapping erfordern und zurück. Warum sollte ich? In welchem ​​Jahrhundert leben wir? ;)

Ich hatte gute Erfahrungen mit JAXB (Zuordnung von Objekten zu XML und zurück in einer objektorientierten Art), aber JAXB hat keine Verwendung in Datenbanken.

+3

Was lässt Sie daran denken, dass JackRabbit keine Anmerkungen unterstützt? Sogar das 5min Tutorial benutzt sie. http://jackrabbit.apache.org/5-with-jackrabbit-ocm.html – jitter

+0

Oh, danke! Ich suchte primär nach Informationen über die JCR-Spezifikation, nicht nach der Jackrabbit-Implementierung. –

+0

Hmm Ich bin mir nicht sicher, ob ich verstehe was du willst. Die JCR 2 Spezifikation ist http://jcp.org/en/jsr/detail?id=283. Möchten Sie ein ORM: http://en.wikipedia.org/wiki/Object-relational_mapping oder ein Content-Repository? – jitter

Antwort

0

Ich würde mit Hibernate gehen. Einfach weil es eine so große Gemeinschaft hat. Ja, ich habe viel (gute) Erfahrung mit Hib persönlich, also bin ich voreingenommen.

Wie für Versionierung, nun, implementieren Sie es selbst - es ist nicht schwer, nur eine Kopie (Reflexion ist ein Helfer), und speichern Sie das Objekt.

+0

Benötigt Hibernate eine relationale DB? Ich möchte wirklich nicht darauf achten, Objekt auf Tabellen und zurück zu mappen. –

+0

Ivan, stört es dich selbst eine Grundlagenforschung zu machen? Не нужно ждать, положат врот. –

+0

Sie könnten dieses Argument für 90% der hier gestellten Fragen verwenden. Ich brauchte schnell eine Entscheidung, Knospe hatte keine Ahnung von DB-Technologie, fragte also. –

0

Sie könnten auch in Verwendung von JPA's suchen. Obwohl sie seit dem Schnittbrot nicht das heißeste Ding sind, werden sie von der Java-Community übernommen und von der Sun-Community als neuer Standard vorangetrieben. Hibernate ist jedoch sicher und bewährt, also bleibe ich persönlich dabei.

+0

Wir hatten eine Menge Erfolg mit OpenJPA – Kieveli

+0

Und ich persönlich benutze Hibernate über JPA API –

4

db4o ist eine objektorientierte Datenbank. Da es OO ist, speichern Sie die Objekte direkt, so dass Sie keine Zuordnungen zu Tabellen pflegen müssen.

2

Versuchen Sie NeoDatis. Es hat alle Vorteile von db4o (native Abfragen, keine Zuordnungen, schnell), außer dass es völlig kostenlos ist (sogar für kommerzielle Zwecke).

AKTUALISIEREN: Letztes Mal, als ich NeoDatis ausprobierte (Mitte 2010), hatte es immer noch einige kritische Fehler. Beispielsweise könnte ein Stromausfall zu einer Beschädigung der Datenbank führen. In acht nehmen!

0

DB4O und Neodatis ist der Weg zu gehen ...

Ich denke, dass Sie eine kommerzielle Lizenz benötigen, wenn Ihr Projekt für Gewinn ist .... Wenn ja mit neodatis gehen ....