2010-11-03 14 views
5

Estoy tratando de encontrar la forma de lograr un esquema xsd para el intercambio de datos ida y vuelta, con el mínimo esfuerzo.Esquema XSD - referencias JAXB - Datastore (JPA/JDO) Roundtrip

Utilicé jaxb para construir mi modelo de objetos a partir de esquemas, ahora me gustaría almacenar estos objetos en base a JPA (¿o JDO o algo más?). ¿Es posible mejorar automáticamente los objetos con las anotaciones faltantes basadas en las anotaciones de JAXB? ¿Es deseable?

Gracias

Respuesta

4

Tiene varias opciones para este caso de uso.

Opción # 1 - Hyperjaxb3

No he utilizado yo mismo, pero Hyperjaxb3 se supone que generar tanto JAXB y anotaciones JPA en el modelo:

Opción n.º 2: utilice Dali para asignar sus POJO a la base de datos (JPA)

herramienta El Eclipse Dali proporciona herramientas para mapear fácilmente POJOs a una base de datos relacional utilizando JPA:

Opción # 3 - Uso EclipseLink

EclipseLink proporciona tanto JPA y las implementaciones JAXB. La aplicación JAXB (MOXy) contiene extensiones específicamente para el manejo de entidades JPA:

+0

Hyperjaxb3 suena bien, especialmente para el plug-in maven, lo intentaré. – joecks

+1

HyperJaxb3 no funcionó para mí, ya que utiliza el estándar jpa 1.0 y omite algunas anotaciones. Probaré EclipseLink la próxima vez. – joecks

+0

JPA 2.0 será compatible en la próxima versión de Hyperjaxb3 (0.5.6). – lexicore

0

Uso DataNucleus y que puede persistir a través de JDO o JPA e internamente se utiliza JAXB. http://www.datanucleus.org

+0

¿Cómo se puede hacer a través de un datanucleus? Creo que el datanucleus es solo un marco de persistencia, ¿algún ejemplo? – joecks

+0

DataNucleus puede persistir/recuperar datos para muchos tipos de datastore, ya sea RDBMS, XML o muchos otros. Puede tener datos en XML y recuperarlos, persistirlos en RDBMS, etc. Puede usar JPA/JDO XML/anotaciones únicamente o (al almacenar datos en XML) usar una combinación de JPA/JDO y JAXB. Depende de lo que quiere decir con "almacén de datos", y qué es exactamente lo que quiere hacer: la pregunta no es precisa. – DataNucleus

+0

Me refiero al almacén de datos, una tienda del lado del servidor abstraída a través de JPA/JDO (probablemente RDBMS) y uso mensajes XML para comunicarme con el servidor. Empecé a construir el modelo de comunicación de esquemas XML y ahora me gustaría mantener este modelo único también para la persistencia. Pero si entendí bien, los datos persistentes en XML se hacen con anotaciones JAXB.Pero necesito los mensajes XML para la comunicación, por lo tanto, en este caso, los clientes serían el almacén de datos de mis datos, lo cual es una idea interesante, hablando de almacenamiento de datos distribuidos pero inviable para mi proyecto :) – joecks

Cuestiones relacionadas