Jpa中的枚举类型

127 阅读1分钟

前言

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

jpa中的枚举

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

public enum UserType {
    CUSTOMER,
    TEMP,
    ORDINARY
}

定义一个实体类

@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层

public interface IUserRepository extends JpaRepository<User, Long> {
}

生成的数据语句为

image.png 其中,EnumType的类型为

image.png 一个为整型,一个为字符串

生成的数据库表为

image.png 备注: 使用的是MySQL

总结

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