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

时间:2018-02-20 19:11:29

标签: java sql oracle spring-data-jpa

我有一个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)

1 个答案:

答案 0 :(得分:0)

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

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

findAllByLastNameIgnoreCaseOrderBySortKeyAsc(String name)