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