我正在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语法错误
- Go Java 算法之迷你语法分析器示例详解 2022-09-03
- Java基础学习之IO流应用案例详解 2023-05-18
- SpringBoot Validation快速实现数据校验的示例代码 2022-12-07
- Project Reactor源码解析publishOn使用示例 2023-04-13
- Java开发神器Lombok安装与使用详解 2022-11-01
- KotlinScript构建SpringBootStarter保姆级教程 2023-06-01
- 一文详解Java中Stream流的使用 2022-11-08
- java开源好用的简繁转换类库推荐 2023-04-12
- Java Servlet生成JSON格式数据并用jQuery显示的方法 2023-08-03
- SpringBoot从繁至简的框架基础教程 2023-06-10