Hibernate5
1.映射
1.1主键映射
这里只介绍两种常用的主键(像guid, uuid1, hilo, select等都不讲,只讲常用,快速入门,后面的等同):
Long类型自增的数字
String类型的UUID
Long类型
@Id
@GeneratedValue
private Long id;
UUID2类型
@Id
@GeneratedValue
@Type(type="uuid-char")
private UUID id;
解释
加上注解@ID
是让Hibernate知道这是一个主键
加上注解@GeneratedValue
是让Hibernate自动生成主键
加上@Type
是让Hibernate映射为字符串(默认映射是binary,数据库调试的时候不方便)
1.2日期时间映射
常用的日期时间一般有三种:
LocalDate
LocalDateTime
LocalTime
LocalDate
//生日
private LocalDate birthDay;
LocalDateTime
//注册日期
private LocalDateTime registerDateTime;
LocalTime
//同上
解释,直接上屏就可以了。什么都不用加
1.3布尔类型映射
@Type(type = "true_false")
private Boolean deleted;// 是否删除
可选类型(默认是boolean)
true_false
映射在数据库中为字符串T或者F
boolean
映射在数据库中为bit 如果不加Type注解,默认是boolean
numeric_boolean
映射在数据库中为0(false)或1(true)的Integer类型
yes_no
映射在数据库是字符串类型,为首字符Y或者N
具体映射哪个类型,看你喜欢哪个了。
1.4字符串映射
常用的字符串类型映射有三种:
varchar
longtext
clob
varchar (默认)
private String username;
longtext
@Type(type="text")
private String jsonObj;// 极光推送响应的对象
数据库代码为
jsonObj longtext,
success bit(1) DEFAULT NULL,
clob
@Type(type="materialized_clob")
private String jsonObj;
数据库的代码就是clob 不截图了(我几乎都是用上种longtext格式的)