从XSD生成休眠实体bean [英] Generate hibernate entity beans from XSD

查看:98
本文介绍了从XSD生成休眠实体bean的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的要求是将一个巨大的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆