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

Hibernate 6.6.1报错:Unable to locate entity descriptor求助

解决Hibernate 6.6.1中UnknownEntityTypeException(找不到Student实体)的排查步骤
  • 检查Student实体类的注解与包名
    必须给实体类添加@Entity注解,注意Hibernate 6使用Jakarta EE的API,要导入jakarta.persistence.Entity而非旧的javax包。同时主键字段要加@Id注解,示例代码:

    package com.model;
    import jakarta.persistence.Entity;
    import jakarta.persistence.Id;
    
    @Entity
    public class Student {
        @Id
        private Integer id;
        private String name;
        // 记得编写getter、setter和无参构造方法
    }
    

    核对包名和类名是否完全匹配错误提示里的com.model.Student,大小写、拼写都不能出错。

  • 确认hibernate.cfg.xml中注册了实体
    在<session-factory>标签内添加实体映射,二选一即可:

    • 单个实体注册:
      <mapping class="com.model.Student"/>
      
    • 批量扫描整个包:
      <mapping package="com.model"/>
      

    别把映射配置放在<session-factory>标签外部,否则Hibernate无法识别。

  • 验证HibernateUtil的配置加载逻辑
    确保工具类正确读取配置文件,示例代码:

    public class HibernateUtil {
        private static final SessionFactory sessionFactory = buildSessionFactory();
    
        private static SessionFactory buildSessionFactory() {
            try {
                return new Configuration().configure().buildSessionFactory();
            } catch (Throwable ex) {
                throw new ExceptionInInitializerError(ex);
            }
        }
    
        public static SessionFactory getSessionFactory() {
            return sessionFactory;
        }
    }
    

    如果配置文件不在默认的src/main/resources路径下,要在configure()中指定完整路径,比如configure("config/hibernate.cfg.xml")。

  • 检查项目编译与依赖

    • 确认Hibernate 6.6.1的依赖正确引入,比如Maven的pom.xml:
      <dependency>
          <groupId>org.hibernate.orm</groupId>
          <artifactId>hibernate-core</artifactId>
          <version>6.6.1.Final</version>
      </dependency>
      
    • 查看target/classes目录下是否存在编译后的com/model/Student.class文件,实体类编译失败会导致Hibernate无法找到它。
  • 注解配置的补充检查
    如果没在xml里配置映射,而是用代码方式添加实体,要确保在Configuration中调用addAnnotatedClass:

    new Configuration().addAnnotatedClass(com.model.Student.class).configure().buildSessionFactory();
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 08:31:09