异常消息怎么说?它说:
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不支持该*
表示法。