我正在Java应用程序中运行一些简单的MYSQL语句。我在语句上遇到语法错误,如果我通过Navicat直接对MYSQL服务器运行它,它似乎运行正常。给我带来麻烦的声明是:
@NamedQuery(name = "Image.findDefaultByTest", query = "SELECT i FROM Image i where (i.test_id = :test) LIMIT 0,1")
我得到的错误是:
Syntax error parsing the query [Image.findDefaultByTest: SELECT i FROM Image i where (i.test_id = :test) LIMIT 0,1], line 1, column 48: syntax error at [LIMIT].
只是举一个上面一行声明的例子:
@NamedQuery(name = "Image.findByLocation", query = "SELECT i FROM Image i WHERE i.location = :location")
对此事的任何帮助都会非常感激,我通过Google找到的唯一信息似乎是从2003年开始的!
答案 0 :(得分:2)
使用@NamedNativeQuery
代替@NamedQuery
。
@NamedQuery
用于hql查询。
检查一下 http://www.mkyong.com/hibernate/hibernate-named-query-examples/
LIMIT在HQL中不起作用。