我正在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语法错误
基础教程推荐
- SpringBoot MongoDB详细使用教程 2023-06-24
- 关于maven:pom文件的使用解析 2023-04-18
- SpringBoot使用@EnableAutoConfiguration实现自动配置详解 2023-04-17
- 关于JwtToken使用-重点看一下过期时间 2023-02-19
- Spring获取ApplicationContext对象工具类的实现方法 2023-07-29
- Mybatis在注解上如何实现动态SQL 2023-01-02
- java 线程池存在的意义 2023-01-08
- 多数据源模式JPA整合sharding-jdbc实现数据脱敏 2022-10-30
- Java实现动物换位游戏完整 过程详解 2023-03-07
- spring-boot-maven-plugin 配置有啥用 2023-04-12