Hibernate Postgresql使用不区分大小写的搜索

我一直在谷歌搜索一个直接的解决方案,让我们的新
postgresql hibernate设置使用不区分大小写的搜索,没有运气.我们以前一直在使用
mysql,它有一个不区分大小写搜索的策略,但是
Postgresql似乎缺少这个.

例如,我希望Hibernate / Postgresql为以下各项返回相同的结果:

SELECT * FROM Foo where bar = 'Hello World';

SELECT * FROM Foo where bar = 'hello wOrlD';

我发现的唯一解决方案是以某种方式将“ilike”关键字嵌入到生成的查询中,但是您认为Hibernate中会有某种配置可以满足这一需求吗?我对Hibernate和Postgresql的体验是有限的,所以任何输入都会受到赞赏.

谢谢

最佳答案 在SQL中我以前玩过这个技巧,我认为在大多数RDBMS中它都符合SQL:

SELECT * FROM UPPER(bar) = 'HELLO WORLD'

您可以在传入参数之前进行大写.这可能与在Hibernate中使用Restrictions.ilike()criteria进行查询相同.

点赞