我正在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语法错误
基础教程推荐
- JVM 运行时数据区与JMM 内存模型 2023-03-21
- 简单实现JSP分页显示效果 2023-07-31
- springcloud中RabbitMQ死信队列与延迟交换机实现方法 2022-12-02
- Java Kryo,Protostuff,Hessian序列化方式对比 2023-02-18
- jsp页面使用${}不起作用的解决方法 2023-08-02
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Spring源码解析 Bean属性填充 2023-02-19
- Spring依赖注入的三种方式实例详解 2023-07-30
- Java+TestNG接口自动化入门详解 2023-08-08
- 利用IDEA工具修改Maven多模块项目标识包名全过程记录 2023-06-02
