2012-07-05 25 views
8

Mi requisito es guardar valores XML enormes en la base de datos.
Después de analizar algunas opciones, finalicé que generar clases de bean de entidad desde xml enorme y luego persistir utilizando hibernación.
Estoy optando por no crear archivos hbm y buscar anotaciones de hibernación. De esta forma generaré clases Java desde XSD usando JAXB y manualmente agregarán anotaciones de hibernación.
¿Hay algún plugin de eclipse o infraestructura de utilidades que pueda generar clases de entidades desde XSD con anotaciones predeterminadas de hibernación?Generar beans de entidad de hibernación de XSD

Respuesta

7

aquí hay algo de documentación:

http://confluence.highsource.org/display/HJ3/Making+schema-derived+classes+ready+for+JPA

http://java.net/projects/hyperjaxb

Aquí está un ejemplo de trabajo para un proyecto que he completado:

<plugin> 
    <groupId>org.jvnet.jaxb2.maven2</groupId> 
    <artifactId>maven-jaxb2-plugin</artifactId> 
    <version>0.7.4</version> 
    <dependencies> 
        <dependency> 
          <groupId>org.jvnet.hyperjaxb3</groupId> 
          <artifactId>hyperjaxb3-ejb-plugin</artifactId> 
          <version>0.5.5</version> 
        </dependency> 
      </dependencies> 
    <executions> 
     <execution> 
     <id>generate-domain1</id> 
     <goals> 
      <goal>generate</goal> 
     </goals> 
     <configuration> 
      <strict>false</strict> 
      <schemaIncludes> 
      <value>account.xsd</value> 
      <value>customer.xsd</value> 
      <value>address.xsd</value> 
      </schemaIncludes> 
      <bindingIncludes> 
      <include>domain-bindings.xjb</include> 
      </bindingIncludes> 
      <extension>true</extension> 
      <generatePackage>your.package.here</generatePackage> 
      <generateDirectory>${project.build.directory}/generated-sources/jaxbandjpa</generateDirectory> 
      <args> 
      <arg>-Xannotate</arg> 
      <arg>-Xhyperjaxb3-ejb</arg> 
      </args>     
      <plugins> 
      <plugin> 
       <groupId>org.jvnet.jaxb2_commons</groupId> 
       <artifactId>jaxb2-basics</artifactId> 
       <version>0.6.0</version> 
      </plugin> 
      <plugin> 
       <groupId>org.jvnet.jaxb2_commons</groupId> 
       <artifactId>jaxb2-basics-annotate</artifactId> 
       <version>0.6.0</version> 
      </plugin> 
      </plugins> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

creo que sirve

2

Puede usar HyperJAXB para generar un modelo JAXB con anotaciones JPA. Hibernate implementa la especificación JPA:

+0

lo encontré mientras que buscando en Google para este problema, pero no podía entender cómo empezar con ella o incluso descargarlo? –

Cuestiones relacionadas