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

如何准确判断Spring Boot应用是否默认使用Hibernate作为ORM框架

判定Spring Boot应用是否默认使用Hibernate作为ORM框架的可操作方法

Lombok仅在编译期生成模板代码,完全不参与ORM框架选型,判定时不需要考虑Lombok的影响,直接按下面三个方法验证即可:

  • 依赖树排查
    构建工具执行依赖查询命令:Maven项目用mvn dependency:tree,Gradle项目用./gradlew dependencies,在输出结果中检索hibernate-core依赖。
    Spring Boot官方提供的spring-boot-starter-data-jpa组件默认绑定Hibernate作为JPA实现,只要你没有在starter依赖中手动排除Hibernate、也没有额外引入EclipseLink/OpenJPA等其他JPA实现,框架就会默认启用Hibernate。如果做过如下排除配置,就不会默认加载Hibernate:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 启动日志校验
    保持应用日志级别为INFO及以上,启动过程中检索日志内容,Hibernate启动时会打印专属前缀HHH开头的日志,典型日志如下:

    HHH000412: Hibernate ORM core version 6.2.7.Final
    能搜到这类日志就说明Hibernate已经完成初始化,是当前生效的ORM实现。

  • 运行时Bean校验
    启动应用后从Spring容器中取出EntityManagerFactory实例,打印它的实际实现类名,示例代码:
    @SpringBootApplication
    public class App implements CommandLineRunner {
        @Autowired
        private EntityManagerFactory entityManagerFactory;
    
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    
        @Override
        public void run(String... args) {
            System.out.println("当前生效的JPA实现类:" + entityManagerFactory.getClass().getName());
        }
    }
    
    如果输出类名包含org.hibernate.internal.SessionFactoryImpl,即可确认当前使用Hibernate作为ORM框架。

内容的提问来源于stack exchange,提问作者AOUADI Slim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:03:36