[英]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.