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

我正在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中不起作用.
本文标题为:在Java中使用LIMIT时出现MYSQL语法错误


基础教程推荐
- Spring Bean注册与注入实现方法详解 2023-06-23
- 远程调用@FeignClient注解属性使用详解 2023-06-17
- SpringBoot整合Freemarker实现页面静态化的详细步骤 2023-06-23
- JSP中使用JDBC连接MySQL数据库的详细步骤 2023-08-01
- Java IPage分页操作 附加自定义sql 2023-01-23
- Java线程池源码的深度解析 2023-06-23
- 手写redis@Cacheable注解 参数java对象作为key值详解 2023-08-10
- Java协议字节操作工具类详情 2023-05-13
- Mybatis示例讲解注解开发中的单表操作 2023-02-18
- java使用JWT的方法 2022-12-07