您的位置:首页 > 编程语言 > Java开发

Hibernate针对Java基本类型字段的映射策略总结

2017-04-29 13:49 525 查看
本文使用的数据库测试环境为:

MySQL:Windows 10x64 5.7.12-log

SQL Server:Windows 10x64 SQL Server 2012

Oracle:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

由于工程需要支持多种数据库,自然而然就想到使用Hibernate框架,但是不同的数据库提供的数据类型是不同的,Hibernate内置了针对不同数据库数据类型的映射策略。使用下面的实体类进行映射测试:

@Entity(name = "user")
@Table(name = "user")
public class User implements Serializable {
private static final long serialVersionUID = 8849870114127659929L;

@Id
private Long id;
@Column
private String name;
@Column
@Lob
private String comment;
@Column
private Integer age;
@Temporal(TemporalType.DATE)
private Date day;
@Temporal(TemporalType.TIME)
private Date time;
@Temporal(TemporalType.TIMESTAMP)
private Date mark;
private Boolean male;
private Double tall;
private Float size;
}


下面是针对Java基本类型的映射总结:

Java类型MySQLSQL ServerOracle
Stringvarchar(255)varchar(255)VARCHAR2(30)
String(@Lob)longtextvarchar(MAX)CLOB(4000)
Integerint(11)intNUMBER(10)
Longbigint(20)bigintNUMBER(19)
DoubledoublefloatFLOAT(126)
FloatfloatfloatFLOAT(126)
Booleanbit(1)bitNUMBER(1)
Date(TemporalType.DATE)datedateDATE(7)
Date(TemporalType.TIME)timetime(7)DATE(7)
Date(TemporalType.TIMESTAMP)datetimedatetime2(7)TIMESTAMP(6)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐