Hibernate 映射枚举(Enum) 类型的属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate 映射枚举(Enum) 类型的属性相关的知识,希望对你有一定的参考价值。

在数据库中我们一般用整数或字符串来表示枚举值(有些数据库(如 mysql)本身带有枚举类型), 而在使用 Hibernate 时实体对象中也用 Integer 或 String 来表示枚举就不那么友好了。试想来我们这样定义实体对象的两个属性

@Entity
public class User {
  ....

  public Integer type;  //0: Individual 类型,1: Company 类型
  public String gender;  //可取值 Male 和 Female
}

这样的定义很不严谨,type 和 gender 理论上可取任何值,这会造成表中数据的混乱。其实 Hibernate 在 Java 实体对象中是可以直接用枚举类型与数据库中的整数或字符串映射,需用到 @Enumerated 注解,用法如下: 阅读全文 >>


以上是关于Hibernate 映射枚举(Enum) 类型的属性的主要内容,如果未能解决你的问题,请参考以下文章

C++中如何将一个字符串(string类型的)映射(转换)到枚举值(enum)

Mybatis-自定义Enum映射

Mybatis-自定义Enum映射

枚举类型休眠 3

Hibernate学习笔记 --- 映射枚举类型

如何解决mysql enum 类型字段的插入问题