You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:是否有Jar包可从Hibernate ORM文件生成Java实体类

从Hibernate ORM-XML生成带注解的Java实体类工具方案

当然有现成工具可以实现这个需求,不用绕XSD转JAXB的弯路,下面是几种靠谱的方案:

官方原生工具:Hibernate Tools的hbm2java

这是Hibernate官方提供的工具,专门用来从.hbm.xml映射文件生成带JPA/Hibernate注解的Java实体类,完全匹配你的迁移需求:

  • 命令行方式:下载hibernate-tools的jar包,配置好hibernate.cfg.xml(指定你的ORM-XML文件路径和数据库连接信息),然后执行命令:
    java -jar hibernate-tools.jar --hbm2java --config hibernate.cfg.xml
    
  • Maven插件方式:在项目的pom.xml中配置hibernate-tools-maven-plugin,绑定到编译阶段,指定hbm文件的扫描路径,构建时自动生成实体类:
    <plugin>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-tools-maven-plugin</artifactId>
        <version>5.6.14.Final</version>
        <executions>
            <execution>
                <phase>generate-sources</phase>
                <goals>
                    <goal>hbm2java</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <hibernateCfg>src/main/resources/hibernate.cfg.xml</hibernateCfg>
            <outputDirectory>src/main/java</outputDirectory>
            <ejb3>true</ejb3> <!-- 生成JPA注解的实体类 -->
        </configuration>
    </plugin>
    

IDE集成工具

如果用主流IDE,直接通过内置/插件功能就能快速生成:

  • IntelliJ IDEA:导入Hibernate项目后,右键点击目标.hbm.xml文件,选择Generate Persistence Mapping -> By Hibernate Configuration,可以自定义生成的实体类包路径、注解类型等,一键生成符合要求的代码。
  • Eclipse(JBoss Tools):安装JBoss Tools插件后,右键.hbm.xml文件,选择Hibernate -> Generate Java Entity,同样可以生成带注解的实体类,支持配置生成规则。

为什么之前的XSD+JAXB方案失败?

Hibernate的ORM-XML有自己的专属语义和结构,直接转XSD再用JAXB生成的类只是简单的XML绑定类,不会包含Hibernate/JPA的注解,也不符合实体类的设计逻辑,所以这种方式本身就不适合这个场景。

内容的提问来源于stack exchange,提问作者Aditya Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:09:26