2012-07-05 98 views
8

我的要求是将巨大的XML值保存到数据库。
分析了几个选项后,我最终确定了从巨大的xml生成实体bean类,然后使用hibernate持久化它。
我选择不创建hbm文件并进行hibernate注释。通过这种方式,我将使用JAXB从XSD生成Java类,并手动添加hibernate注释。
是否有任何eclipse插件或util框架可以使用默认的hibernate注释从XSD生成实体类?从XSD生成休眠实体bean

回答

7

下面是一些文档:

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

http://java.net/projects/hyperjaxb

这里是因为我已经完成了一个项目一个工作示例:

<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> 

希望它有助于

2

您可以使用HyperJAXB生成带有JPA批注的JAXB模型。 Hibernate的实现JPA规范:

+0

我没有找到它,而google搜索这个问题,但无法弄清楚如何开始使用它,甚至下载呢? – 2012-07-05 12:46:52