zoukankan      html  css  js  c++  java
  • JPA中 @Enumerated 注解

    背景

    在使用JPA的过程中,我们在使用数据库存储类型数据时,当类型较少,使用枚举常量作为类型进行存储,需要用到 @Enumerated 注解。

    @Enumerated源码定义

    @Target({METHOD, FIELD}) 
    @Retention(RUNTIME)
    public @interface Enumerated {
    
        /** (Optional) The type used in mapping an enum type. */
        EnumType value() default ORDINAL;
    }
    

    其中, EnumType 枚举字段

    public enum EnumType {
        ORDINAL,//按照枚举的下标,使用Enum类型实例在Enum中声明的顺序,通过这个序号来将Enum类型字段映射成int类型来存储;
        STRING;//按照枚举的名字,使用Enum类型实例中的name属性来完成映射,将Enum类型映射成字符串的方式
        private EnumType() {
        }
    }
    
    

    使用

    1、默认情况下
    当不使用任何注解的时候,默认情况下是使用ordinal属性,序号是从0开始的;

    2、@Enumerated(EnumType.ORDINAL)
    使用定义枚举时的下标;

    3、@Enumerated(EnumType.STRING)
    使用定义枚举时的枚举常量的字符串。

  • 相关阅读:
    javaSE基础(六)--IO流
    javaSE基础(五)--JDBC
    javaSE基础(四)--Map集合
    javaSE基础(三)--List集合
    javaSE基础(二)
    javaSE基础(一)
    eclipse快捷键大全
    mybatis学习-基础
    工厂模式
    GC日志和jvm内存的分代
  • 原文地址:https://www.cnblogs.com/hnxbp/p/15020990.html
Copyright © 2011-2022 走看看