【问题标题】:Spring JPA + H2 DB : Save field value case insensitiveSpring JPA + H2 DB:保存字段值不区分大小写
【发布时间】:2020-06-20 13:24:09
【问题描述】:

我正在使用 Spring JPA 和 H2 DB 编写一个 Spring Boot 应用程序。在实体user 中,我想以insensitive 的方式保存具有唯一 值的字段userId

因此,一旦用户将userId 插入为user1,就不能允许他将另一个userId 保存为User1

一种可能的方法是让user 实体的getters小写/大写 读取值,setters 将值写入小写/大写,如下:

public String getUserId() {
        return userId.toLowerCase();
}

public void setUserId(String userId) {
        this.userId = userId.toLowerCase();
}

是否有替代/更好的解决方案,最好是在架构级别?

【问题讨论】:

标签: spring spring-data-jpa h2


【解决方案1】:

我不确定如何使用注释对其进行配置,但如果您手动创建架构并且可以控制脚本,您可以使用varchar_ignorecase 来作为列。然后您可以混合大小写存储数据,但是您创建的任何数据库约束以及实际上任何比较都会忽略大小写。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2016-11-12
    • 2015-10-21
    • 2023-03-23
    • 2012-02-13
    相关资源
    最近更新 更多