从XSD生成休眠实体bean [英] Generate hibernate entity beans from XSD
问题描述
我的要求是将一个巨大的XML值保存到数据库中。
在分析了几个选项后,我最终确定了从巨大的xml生成实体bean类,然后使用hibernate持久化它。选择不创建hbm文件并进行hibernate注释。这样,我将使用JAXB从XSD生成Java类,并手动添加hibernate注释。
是否有任何eclipse插件或util框架可以从XSD生成实体类的默认休眠注释
下面是一些文档:
'p> HTTP://confluence.highsource .org / display / HJ3 / Making +模式派生+类+准备+ for JPA
http://java.net/projects/hyperjaxb
下面是一个专业版的示例ject我已完成:
< plugin>
< groupId> org.jvnet.jaxb2.maven2< / groupId>
< artifactId> maven-jaxb2-plugin< / artifactId>
< version> 0.7.4< / version>
<依赖关系>
< dependency>
< groupId> org.jvnet.hyperjaxb3< / groupId>
< artifactId> hyperjaxb3-ejb-plugin< / artifactId>
< version> 0.5.5< / version>
< /依赖关系>
< /依赖关系>
<执行次数>
<执行>
< id> generate-domain1< / id>
<目标>
< goal>生成< / goal>
< /目标>
<配置>
< strict> false< / strict>
< schemaIncludes>
<值> account.xsd< /值>
< value> customer.xsd< /值>
< value> address.xsd< /值>
< / 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>
< /执行>
< /执行次数>
< / plugin>
希望它有帮助
My requirement is to save a huge XML values to database.
After analyzing few options I finalized that generate entity bean classes from huge xml and then persist it using hibernate.
I am opting out of creating hbm files and going for hibernate annotations.In this way I will be generating Java classes from XSD using JAXB and them manually add hibernate annotations.
Is there any eclipse plugin or util framework which can generate entity classes from XSD with default hibernate annotations?
Here's some documentation:
http://confluence.highsource.org/display/HJ3/Making+schema-derived+classes+ready+for+JPA
http://java.net/projects/hyperjaxb
Here's a working example for a project I have completed:
<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>
hope it helps
这篇关于从XSD生成休眠实体bean的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!