在Java中使用LIMIT时出现MYSQL语法错误

我正在
Java应用程序中运行一些简单的MYSQL语句.我在语句上遇到语法错误,如果我通过Navicat直接对MYSQL服务器运行它,它似乎运行正常.给我带来麻烦的声明是:

@NamedQuery(name =“Image.findDefaultByTest”,query =“SELECT i FROM Image i where(i.test_id =:test)LIMIT 0,1”)

我得到的错误是:

解析查询的语法错误[Image.findDefaultByTest:SELECT i FROM Image i where(i.test_id =:test)LIMIT 0,1],第1行,第48列:[LIMIT]处的语法错误.

只是举一个上面一行声明的例子,它确实有效:

@NamedQuery(name =“Image.findByLocation”,query =“SELECT i FROM Image i WHERE i.location =:location”)

任何关于此事的帮助都会非常感激,我通过Google找到的唯一信息似乎是从2003年开始!

最佳答案 使用@NamedNativeQuery而不是@NamedQuery.

@NamedQuery用于hql查询.

检查一下
http://www.mkyong.com/hibernate/hibernate-named-query-examples/

看起来LIMIT在HQL中不起作用.

点赞