繁体   English   中英

如何通过JPA查询方法使用SQL函数UPPER()和LOWER()

[英]How to use SQL functions UPPER() and LOWER() with JPA query methods

我有一个JPA Query方法,该方法通过像这样的列值获取行:

findAllByLastNameOrderBySortKeyAsc(String name)

但是我希望查询不区分大小写。 在SQL中,我可以像这样使用upper()函数

select * from table_name where upper(last_name) like '%NAME%' order by sort_key asc

但是我找不到任何有关如何使用命名查询实现此功能的示例或文档。

更新:

尽管它不能回答如何在命名查询中使用upper()lower()问题,但我能够通过在命名查询中使用IgnoreCase来解决不区分大小写的查询的问题,如下所示:

findAllByLastNameIgnoreCaseOrderBySortKeyAsc(String name)

spring-data-jpa 文档中所述 ,您必须使用IgnoreCase关键字不区分大小写。

您的方法定义应如下所示:

findAllByLastNameIgnoreCaseOrderBySortKeyAsc(String name)

生成的SQL将是: …其中UPPER(x.firstame)= UPPER(?1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM