8

私の要件は、巨大なXML値をデータベースに保存することです。
いくつかのオプションを分析した後、巨大なxmlからエンティティBeanクラスを生成し、Hibernateを使用してそれを永続化することを確定しました。
hbmファイルの作成をオプトアウトし、Hibernateアノテーションを使用します。このようにして、JAXBを使用してXSDからJavaクラスを生成し、Hibernateアノテーションを手動で追加します。
デフォルトの休止状態のアノテーションを使用してXSDからエンティティクラスを生成できるEclipseプラグインまたはutilフレームワークはありますか?

4

2 に答える 2

7

ここにいくつかのドキュメントがあります:

http://confluence.highsource.org/display/HJ3/Making+schema-duced+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>

それが役に立てば幸い

于 2012-07-07T22:22:25.913 に答える
2

HyperJAXB を使用して、JPA アノテーションを使用して JAXB モデルを生成できます。Hibernate は JPA 仕様を実装します。

于 2012-07-05T12:31:56.563 に答える