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

如何解决Hibernate的org.hibernate.query.sqm.UnknownEntityException异常?

问题解决方法

这个错误是Hibernate找不到Laptop实体导致的,按下面步骤排查修复:

  • 修正HQL语句的实体名:HQL里引用的是Java实体类名,不是数据库表名。你代码里写的是from laptop,但你的实体类是Laptop(首字母大写),所以把语句改成:

    String stmt = "from Laptop where image_url = :imageUrl";
    

    同时别用字符串拼接传参,容易引发SQL注入,改用参数绑定更安全:

    List<Laptop> laptopList = session.createQuery(stmt, Laptop.class)
                                    .setParameter("imageUrl", data1)
                                    .getResultList();
    
  • 确认实体类的映射配置:

    1. 检查Laptop类上是否添加了@Entity注解,且类名和HQL里的一致(注意大小写);
    2. 确保Hibernate的配置文件(如hibernate.cfg.xml)里已经通过<mapping class="你的包路径.Laptop"/>注册了这个实体,或者项目用了Spring等框架时,配置了正确的实体类包扫描。
  • 验证SessionFactory的配置:确认SessionFactory初始化时加载了Laptop实体的映射信息,没有遗漏这个类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:31:01