专栏首页智慧协同JPA关于枚举类型的处理

JPA关于枚举类型的处理

当我们使用jpa处理枚举类型的自定义查询时,可以这么干:

将枚举的字符串形式存储到数据库中

首先在model中指定枚举类型以字符串的形式存储:(@Enumerated(EnumType.STRING)注解处理)

@Enumerated(EnumType.STRING)
@Column(name="status")
private Status status;

这样当我们插入数据时,数据库里会在status列以字符串的形式存储值,如:

public static enum Status{
    PREPARE("PREP"),INPROGRESS("INPR"),FINISH("FNSH");

    private String code;
    private Status(String code){
        this.code=code;
    }
    @Override
    public String toString(){
        return code;
    }   
    public static Status parseCode(String code){
        for(Status s:Status.values()){
            if(s.code.equalsIgnoreCase(code))return s;
        }
        return null;
    }
}

对应数据库status列会存储PREPAREINPROGRESSFINISH,而不是以0、1、2的方式进行存储了。

如何使用@Query做自定义查询

当我们使用@Query做针对枚举的自定义查询时,方法也很简单,如下:

@Query("from Period where status != 'FINISH' order by beginDate desc")

其中FINISH即对应Status.FINISH枚举项,注意在查询语句上不要忘记加“单引号”!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • KONG网关 — KongA管理UI使用

    kong虽然很强大,但是在管理方式上比较单一只能通过API请求来管理,那么有没有一个UI界面的管理工具呢?这里就要说到kong管理UI新起之秀Konga

    喵了个咪233
  • data_structure_and_algorithm -- 哈希算法(下)

    我们知道,负载均衡算法有很多,比如轮询、随机、加权轮询等。那如何才能实现一个会话粘滞(session sticky)的负载均衡算法呢?也就是说,我们需要在同一个...

    MachineLP
  • Mysql SSH隧道连接使用方法

    为了安全,mysql的root用户只本机登录,不对外网进行授权访问,此时可通过SSH隧道连接mysql数据库。以下为配置Mysql SSH隧道连接的基本步骤。

    用户1161110
  • 推陈出新:12C 推进 SCN 新方法实践

    在数据库异常恢复中,经常需要修改数据库的 SCN 值,在 12C 之前,我们常用的方法有如下几个:

    数据和云01
  • KONG网关 — 介绍安装

    网关是微服务中不可或缺的一部分,它承载了所有请求流量入口,参数验证拦截,用户权限验证,但是除了JAVA的spring cloud之外,公共网关屈指可数,其中最受...

    喵了个咪233
  • Sql Server查看所有数据库名,表名,字段名(SQL语句)

    1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name

    静谧的小码农
  • Mysql学习(2)——Mysql双机热备

    参考博客《CentOS系统MySQL双机热备配置》。 参考官方文档https://dev.mysql.com/doc/refman/5.6/en/replic...

    胡了了
  • Mysql学习(1)——Mysql安装

    mysql-devel:开发用到的库以及包含文件。 mysql:mysql客户端。 mysql-server:数据库服务器。

    胡了了
  • Centos7 安装Mysql5.

    复制mysql/support-files/目录下的my-default.cnf文件,替换原有的my.cnf。

    用户1161110
  • Spring 配置数据库用户名密码加密

    对于一般的spring框架,经常要用到数据源配置,如果是用xml配置的话,一般都是如下形式

    汤高

扫码关注云+社区

领取腾讯云代金券