小编nwa*_*ooi的帖子

Postgres 不区分大小写

我目前正在做一个已经开发了几个月的 Java 项目。项目差不多完成了,现在我意识到 Postgres 是区分大小写的。

在我的登录过程中,它无法区分username和“用户名”。我使用 Java base、Hibernate 和 JPA 作为后端实现,并使用 Postgres 作为数据库。

我一直在互联网上搜索解决方案,我得到的大部分答案都是建议我使用解决方案:

select loginId from user where 
lower(loginId)=loginid.toLowerCase();
Run Code Online (Sandbox Code Playgroud)

或将表列的数据类型更改为 citext。

但是有没有更快的方法来做到这一点?或者是否有任何变量Postgres.conf能够控制不区分大小写?或者在休眠状态下我可以轻松控制它?

我知道使用方法lower(loginId)=loginId.toLowerCase()是解决问题的最简单方法,但是我的项目中有很多代码需要更改,可能需要很长时间才能修复。将数据类型更改为 citext 对于很久以前实施的项目来说并不是一个很好的解决方案。

这里有人有更好的解决方案来解决我当前的问题吗?

java postgresql hibernate jpa case-insensitive

0
推荐指数
1
解决办法
3060
查看次数

标签 统计

case-insensitive ×1

hibernate ×1

java ×1

jpa ×1

postgresql ×1