服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - JPA @Query时,无法使用limit函数的问题及解决

JPA @Query时,无法使用limit函数的问题及解决

2022-09-16 12:08程序媛小雪 Java教程

这篇文章主要介绍了JPA @Query时,无法使用limit函数的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

JPA @Query时无法使用limit函数问题

使用ssh时,我加入了springdata-jpa去查询sql。

在@query中使用limit函数时,报错,后来分析原因才知道,springdata-jpa的@query中写的sql叫JPQL,jpql是不支持limit函数的。

而原生sql是支持limit函数的,那我们如何在query里写原生sql呢?

解决方案

?
1
@Query(nativeQuery=true,value = "")

value里写正常sql语句

如果返回的是数据库对应的实体对象,那么sql的返回结果集字段别名中应该与该实体类中对应的数据库字段名一致,可以有多余字段,但不能少字段

?
1
2
3
4
5
6
public interface GaidDao extends LogicDeleteableRepository<Gaid, Long>, JpaSpecificationExecutor<Gaid> {
    //加入:nativeQuery注解时,写原生sql,支持limit函数
    //不加入:nativeQuery注解时是JPQL。JPQL不支持limit函数
    @Query(nativeQuery=true, value = "select gaid from sdp_gaid where geo = ?1 and deleted = 0 order by id desc limit 1000000")
    List<String> findGaidByGeo(String geo);
}

JPA @Query时,无法使用limit函数的问题及解决

JPA中limit函数的使用

@Query注解不支持limit函数

所有要使用原生的sql语句

?
1
2
@Query(value = "select * from d_quarterly_report where report_type=?1 order by cycle_number desc limit 1" ,nativeQuery = true)
    QuarterlyReport getLastUploadByReportType(Boolean type);

而不是

?
1
2
@Query(value = "select * from d_quarterly_report where report_type=?1 order by cycle_number desc limit 0,1",nativeQuery = true,)
    QuarterlyReport getLastUploadByReportType(Boolean type);

jpa中不支持limit 0,1的写法只能写成limit 1;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_23832313/article/details/82745486

延伸 · 阅读

精彩推荐
  • Java教程java非公平锁知识点实例详解

    java非公平锁知识点实例详解

    在本篇文章里小编给大家整理了一篇关于java非公平锁知识点实例详解,有兴趣的朋友们可以学习参考下。...

    小妮浅浅11902022-02-24
  • Java教程WIN10环境 Maven的安装与配置详细教程

    WIN10环境 Maven的安装与配置详细教程

    这篇文章主要介绍了WIN10环境 Maven的安装与配置详细教程,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可...

    南方有乔木2552020-09-06
  • Java教程SpringMvc接收参数方法总结(必看篇)

    SpringMvc接收参数方法总结(必看篇)

    下面小编就为大家带来一篇SpringMvc接收参数方法总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Java教程网3402020-11-19
  • Java教程+= 和 ++ 操作符区别简单介绍

    += 和 ++ 操作符区别简单介绍

    这篇文章主要介绍了+= 和 ++ 操作符区别简单介绍的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ...

    媛猿4272020-06-15
  • Java教程为什么说要慎用SpringBoot @ComponentScan

    为什么说要慎用SpringBoot @ComponentScan

    本文主要介绍了为什么说要慎用SpringBoot @ComponentScan,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧...

    神韵49912172021-10-10
  • Java教程Java NIO服务器端开发详解

    Java NIO服务器端开发详解

    这篇文章主要介绍了Java NIO服务器端开发详解,具有一定借鉴价值,需要的朋友可以参考下。...

    温布利往事7342021-03-02
  • Java教程java生成excel报表文件示例

    java生成excel报表文件示例

    本篇文章主要介绍了java生成excel报表文件示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    一念花开满天下2322020-08-12
  • Java教程java 将一个数组逆序输出的方法

    java 将一个数组逆序输出的方法

    今天小编就为大家分享一篇java 将一个数组逆序输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    哦_也好13452021-05-10