Jpa中的枚举类型

前言

jpa是提供了枚举类型去操作数据库字段的,可以利用枚举类型操作数据库字段,不用手动去转枚举

jpa中的枚举

jpa提供了@Enumerated注解操作枚举类型,下列为示例 定义一个枚举

arduino 复制代码
public enum UserType {
    CUSTOMER,
    TEMP,
    ORDINARY
}

定义一个实体类

less 复制代码
@Data
@Entity
@FieldNameConstants
@Table(name = "sys_user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String username;

    private Integer age;

    @Enumerated(EnumType.STRING)
    private UserType userType;
}

定义一个dao层

csharp 复制代码
public interface IUserRepository extends JpaRepository<User, Long> {
}

生成的数据语句为

其中,EnumType的类型为

一个为整型,一个为字符串

生成的数据库表为

备注: 使用的是MySQL

总结

可以利用JPA枚举类型操作数据库字段,能省很多事情

相关推荐
IT_陈寒2 分钟前
JavaScript性能优化:7个V8引擎内部原理帮你减少90%内存泄漏的实战技巧
前端·人工智能·后端
苹果醋33 分钟前
java设计模式之责任链模式
java·运维·spring boot·mysql·nginx
小韩博8 分钟前
小迪第40天:安全开发-JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR
spring boot·安全·web安全·java-ee
JaguarJack9 分钟前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
后端·php
Qiuner14 分钟前
Spring Boot AOP(三) 通知执行链源码解析
java·spring boot·后端
羑悻的小杀马特15 分钟前
【Linux篇章】再续传输层协议TCP:用技术隐喻重构网络世界的底层逻辑,用算法演绎‘网络因果律’的终极推演(通俗理解TCP协议,这一篇就够了)!
linux·网络·后端·tcp/ip·tcp协议
BingoGo18 分钟前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
后端·php
Victor35619 分钟前
Netty(23)Netty的负载均衡和高可用性如何实现?
后端
Victor35619 分钟前
Netty(24)Netty中的零拷贝文件传输
后端
武昌库里写JAVA23 分钟前
Java设计模式-(创建型)抽象工厂模式
java·vue.js·spring boot·后端·sql