hibernate实体类与数据库表的常见映射
Jul 31, 2018
Hibernate的核心功能是根据数据库到实体类的映射,自动从数据库绑定数据到实体类。
这使我们操作实体类(Java对象)就能对数据库进行增、删、查、改,而不用调用JDBC API使数据操作变得简单而不繁琐。本文主要总结了实体类的各种属性类型到数据库表的映射以及各种关联关系的映射。
1. 基本类型的映射
在业务中常见的基本类型有Integer、Short、Float、Double、Long、Boolean、String。
1.1 Integer
实体类的属性用Integer可以映射数据的int类型的字段,模型为:
|
|
1.2 Short
实体类的属性用Short可以映射数据的tinyint类型的字段,模型为:
|
|
1.3 Float
实体类的属性用Float可以映射数据的float类型的字段,模型为:
|
|
1.3 Double
实体类的属性用Double可以映射数据的double类型的字段,模型为:
|
|
1.4 Long
实体类的属性用Long可以映射数据的bigint类型的字段,模型为:
|
|
1.5 Boolean
实体类的属性用Boolean可以映射数据的tinyint类型的字段,模型为:
|
|
1.6 String
实体类的属性用String可以映射数据的varchar或者char类型的字段,模型为:
|
|
2. 枚举类型的映射
实体类的属性的枚举类型,在数据库表中可以被映射为int,或者tinyint类型的字段,具体视枚举数量的多少决定,模型为:
|
|
其中Sex为枚举类型:
|
|
3. BigDecimal
实体类的属性的BigDecimal类型,在数据库表中可以被映射为decimal,可以指定精度,模型为:
|
|
4. 时间相关
常用的时间相关的类型是Datetime和Instant,在数据库表中可以被映射为datetime,注意如果不指定datetime的精度,则默认四舍五入到秒,而Instant的默认精度是毫秒,实际值和存储值可能出现1秒的误差。模型为:
|
|
