2009-06-18 7 views
5

Necesito usar un repositorio de datos orientado a objetos para un proyecto.
Va a ser algo entre un wiki y un CMS.¿Con qué tecnología de base de datos podría persistir objetos? (Algo que NO requiere que me ocupe de asignar objetos a las tablas y viceversa)?

Todavía no soy un experto en el campo de la persistencia.
Supongo que Hibernate y Jackrabbit son el marco a seguir, ¿verdad?

Por lo que yo estoy informado correctamente, Jackrabbit hace no apoyo
anotaciones u otras técnicas de conveniencia para el mapeo
entre instancias de objetos y almacenamiento de datos.

Hibernate, por el contrario, hace no apoyo versiones
fuera de la caja.

¿Qué me sugieres que use?
¿Podría de alguna manera combinar estos dos marcos?

¿Podría también, si es posible, resumir los pros y los contras de los dos marcos?

¡Gracias!

EDITAR
Realmente me gustaría utilizar algo que no me requiere a cuidar de mapeo de objetos a tablas y la espalda. ¿Por qué debería? ¿En qué siglo vivimos? ;)

He tenido una buena experiencia con JAXB (asignación de objetos a XML y de regreso en una forma orientada a objetos ), pero JAXB no tiene uso en bases de datos.

+3

¿Qué te hace pensar que JackRabbit no es compatible con las anotaciones? Incluso el tutorial de 5 minutos los usa. http://jackrabbit.apache.org/5-with-jackrabbit-ocm.html – jitter

+0

¡Oh, gracias! Estaba buscando principalmente información sobre la especificación de JCR, no sobre la implementación de Jackrabbit. –

+0

Hmm No estoy seguro de entender lo que quieres. La especificación JCR 2 es http://jcp.org/en/jsr/detail?id=283. ¿Desea un ORM: http://en.wikipedia.org/wiki/Object-relational_mapping o un repositorio de contenido? – jitter

Respuesta

0

Me gustaría ir con Hibernate. Simplemente porque tiene una comunidad tan vasta. Sí, tengo mucha (buena) experiencia con Hib personalmente, así que soy parcial.

En cuanto a las versiones, bien, impleméntelo usted mismo - no es difícil, solo haga una copia (la reflexión es un ayudante) y guarde el objeto.

+0

¿Hibernar requiere una base de datos relacional? Realmente me gustaría NO tener cuidado de asignar objetos a tablas y volver. –

+0

Ivan, ¿te importa hacer una investigación básica por ti mismo? Не нужно ждать, что всё тебе разжуют, и положат в рот. –

+0

Puede usar este argumento para el 90% de las preguntas formuladas aquí. Necesitaba una decisión rápida, Bud no tenía idea acerca de la tecnología DB, por lo que me preguntó. –

0

También podría utilizar el JPA's. Si bien no son lo más popular desde el pan de molde, están siendo adoptados por la comunidad Java y la comunidad Sun los está impulsando como el nuevo estándar. Sin embargo, Hibernate es seguro y probado, así que personalmente me voy a quedar con él.

+0

Tuvimos mucho éxito con OpenJPA – Kieveli

+0

Y personalmente uso Hibernate a través de JPA API –

4

db4o es una base de datos orientada a objetos. Como es OO, almacena los objetos directamente para que no tenga que mantener ninguna asignación a las tablas.

2

Probar NeoDatis. Tiene toda la bondad de db4o (consultas nativas, sin mapeos, rápido), excepto que es completamente gratis (incluso para uso comercial).

ACTUALIZACIÓN: La última vez que probé NeoDatis (mediados de 2010) todavía tenía algunos errores críticos. Por ejemplo, la pérdida de energía podría provocar daños en la base de datos. ¡Tener cuidado!

0

DB4O y NeoDatis son el camino a seguir ...

Creo que necesitará para uso comercial si su proyecto es con fines de lucro .... Si es así ir con NeoDatis ....

Cuestiones relacionadas