HQL 查询中 Hibernate 表未映射错误

2023-12-01

我有一个 Web 应用程序,它使用 Hibernate 对数据库进行 CRUD 操作。我收到一条错误消息,指出该表未映射。查看Java文件:

错误信息:

org.springframework.orm.hibernate3.HibernateQueryException: Books is not mapped [SELECT COUNT(*) FROM Books]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: Books is not mapped [SELECT COUNT(*) FROM Books]
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:660)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
...
Caused by: org.hibernate.hql.ast.QuerySyntaxException: Books is not mapped [SELECT COUNT(*) FROM Books]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:181)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:111)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:93)
...

这是我的DAO.java method:

public int getTotalBooks(){
    return DataAccessUtils.intResult(hibernateTemplate.find(
          "SELECT COUNT(*) FROM Books"));
}

Book.java:

@Entity
@Table(name="Books")
public class Book {

    @Id
    @GeneratedValue
    @Column(name="id")
    private int id;

    @Column(name="title", nullable=false)
    private String title;
    ...
}

我应该如何修改它才能工作?


异常消息显示:

Books is not mapped [SELECT COUNT(*) FROM Books]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: Books is not mapped [SELECT COUNT(*) FROM Books]

Books未映射。也就是说,没有名为的映射类型Books.

事实上,没有。您的映射类型称为Book。它映射到一个名为的表Books,但类型称为Book。当您编写 HQL(或 JPQL)查询时,您使用类型的名称,而不是表。

因此,将您的查询更改为:

select count(*) from Book

虽然我认为可能需要

select count(b) from Book b

如果HQL不支持*符号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HQL 查询中 Hibernate 表未映射错误 的相关文章

随机推荐

  • 用于 WSDL 和 BasicHttpBinding 的 F# 类型提供程序

    当我在 C 中使用 WSDL 服务时 我可以将两个参数传递给构造函数 BasicHttpBinding 和 EndpointAddress BasicHttpBinding basicHttpBinding new BasicHttpBin
  • PHP Artisan Tinker 无法与 Laravel 5.5.16 一起使用

    我运行 php artisantinker 但它不起作用它只显示这样的消息 c xampp htdocs app tpa gt php artisan tinker 错误异常 rmdir C Users KIMUNG 1 AppData L
  • 如何使用 JavaScript Regex 提取字符串?

    我正在尝试使用 JavaScript 正则表达式从文件中提取子字符串 这是文件中的一个片段 DATE 20091201T220000 SUMMARY Dad s birthday 我要提取的字段是 摘要 方法如下 extractSummar
  • Mac Lion 10.8 的 XAMPP 上的 Php-intl 安装

    大家好 我正在尝试在 Mac 版 xampp 上安装 intl 库 我已经安装了 php 5 3 所以我只是将 intl so 文件从 php 5 3 位置复制到 Xampp bin 文件夹 之后我取消注释 extension intl s
  • Java 中的静态泛型字段

    我将通过传递通用字段 演示者 来实现片段的初始化 然后将此演示者连接到创建的视图 public class BaseViewFragment p extends Fragment implements BaseView static pri
  • 在 Access 查询中调用 VBA 函数

    我正在尝试将 8 个不同查询的结果合并回一个查询中 所有要使用的查询都是查询的查询的查询的查询的查询 8 个系列的 4 个查询根据玩家打了多少轮高尔夫球将他们分开 每个系列中的最后一个查询计算每个玩家的确切让分 我正在使用的代码可能无法实现
  • Python 脚本在运行过程中速度变慢?

    我正在运行一个具有以下基本结构的模拟 from time import time def CSV args write args to CSV file return def timeleft a L period print detail
  • 3D 游戏对象的级联效果(Tango、Unity、Android)

    我正在开始使用 Unity 为 Android 构建 Tango 应用程序 我以前有过 Unity 和 Android 经验 但对 Tango 还很陌生 我遵循了这些指南 https developers google com tango
  • 伯努利朴素贝叶斯在 NLTK 和 scikit-learn 中的结果不同

    使用 NLTK 中的伯努利朴素贝叶斯算法和 scikit learn 模块中的伯努利朴素贝叶斯算法对文本进行分类 仅分为两类 时 我得到了完全不同的结果 尽管两者的总体准确度相当 尽管远非相同 但 I 类和 II 类错误的差异很大 特别是
  • Neo4j:正确对螺栓驱动器进行单元测试

    我将 Neo4j Bolt 驱动程序添加到我的应用程序中 如下所示http neo4j com developer java import org neo4j driver v1 Driver driver GraphDatabase dr
  • 如何通过点击缩略图来显示/隐藏大图?

    如何通过点击缩略图来显示 隐藏大图 我需要这样 在这里尝试使用 JSFiddle http jsfiddle net jitendravyas Qhdaz 只用 CSS 可以吗 如果没有 那么 jQuery 解决方案就可以了 An好用吗 a
  • ms-access 内置函数 Month(number)

    我一直在使用访问查询生成器中的 Month 函数的变体 我无法从表达式构建日期值 我希望创建自己的日期 该日期将在幕后执行一些过滤和其他任务 我的问题是 我似乎无法让 Month number 函数执行我认为应该执行的操作 这是我正在寻找的
  • Python:如何使冒泡排序的实现更加省时?

    这是我的代码 用于按升序对列表元素进行排序的冒泡排序算法 foo 7 0 3 4 1 cnt 0 for i in foo for i in range len foo 1 if foo cnt gt foo cnt 1 temp foo
  • 如何在 Python 2.7 中用另一个类修饰实例方法?

    在Python 2 7中我想装饰一个实例方法test在班上Foo带有一个装饰器 它也是一个名为FooTestDecorator 来自用户 Chirstop 的question和 Python 2 文档 描述符操作指南我创建了这个例子 然而
  • 在 Android 中更改运行时语言

    我必须更改 Android 运行时的语言 是的 我知道这不是一个好的行为 但这是一个要求 所以我有一个基础课程 每项活动都从它延伸而来 该类具有以下功能 public static void changeLanguage Context c
  • Boost hana 获取第一个匹配的索引

    所以我正在尝试使用以下方法创建一个库boost hana这需要根据值获取元素索引的功能 constexpr auto tup boost hana make tuple 3 c boost hana type c
  • Silverlight 和 WCF:NotFound 错误!

    我有像这样的 WCF 方法 public string GetSomething MyObject obj return Something 当我从 silverlight 应用程序调用此函数时 出现错误 System Net WebExc
  • 如何按小时对数据进行分组?

    我已将数据读入 R 尝试使用以下代码按小时对数据进行分组 tweets lt read csv tweetCSV csv header TRUE sep stringsAsFactors FALSE tweets gt group by f
  • AJAX(原型/php)在脚本执行期间获取部分状态更新

    我有一个想要在页面后台运行的进程 该过程将需要一段时间才能运行 比如说几分钟 我已对其进行设置 以便从页面中单击按钮来启动该进程 稍等片刻 然后它就会完成 并且我可以让页面更新通知我该进程已成功运行 我正在使用原型和 php 来完成此操作
  • HQL 查询中 Hibernate 表未映射错误

    我有一个 Web 应用程序 它使用 Hibernate 对数据库进行 CRUD 操作 我收到一条错误消息 指出该表未映射 查看Java文件 错误信息 org springframework orm hibernate3 HibernateQ