一.org.hibernate.hql.internal.ast.QuerySyntaxException: book is not mapped [UPDATE book b SET b.stock = b.stock - 1 WHERE b.isbn = ? ]
在spring中使用hibernate 的hql语句要注意与sql语句的区别!
hql中所查找的并不是表名,而是表的映射-实体类。
所以,hql中的指的是实体类名,字段是实体类名中的属性名
例如:
hibernate通过实体类Book映射一个数据库表book ,属性book_name,price映射成表的字段名BOOK_NAME,PRICE
采用hql查询书的单价:
错误:
SELECT b.PRICE FROM book b WHERE b.BOOK_NAME = 'math'
正确:
SELECT b.price FROM Book b WHERE b.book_name = 'math'