2012-07-05 148 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