转:http://blog.csdn.net/javacoffe/article/details/1667224
Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。
内置类型映射:
(1) Java基本类型的Hibernate映射:
表2.1列出了Hibernate中的映射类型和与其对应的Java类型以及对应的标准SQL类型和相应的说明。
表2.1
Hibernate映射类型
|
Java类型
|
标准SQL类型
|
说明
|
integer或者int
|
int或者java.lang.Integer
|
INTEGER
|
4字节
|
long
|
long或者java.lang.Long
|
BIGINT
|
8字节
|
short
|
short或者java.lang.Short
|
SMALLINT
|
2字节
|
byte
|
byte或者java.lang.Byte
|
TINYINT
|
1字节
|
float
|
float或者java.lang.Float
|
FLOAT
|
4字节,单精度浮点数
|
double
|
double或者java.lang.Double
|
DOUBLE
|
8字节,双精度浮点数
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)表示共8位数字,其中两位是小数
|
character
|
char或者java.lang.Character,java.lang.String
|
CHAR(1)
|
定长字符
|
string
|
java.lang.String
|
VARCHAR
|
变长字符
|
boolean
|
boolean或者java.lang.Boolean
|
BIT
|
布尔类型
|
yes_no
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘Y’ 或者’N’)
|
布尔类型
|
true_false
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘T’ 或者’F’)
|
布尔类型
|
Hibernate映射类型
|
Java类型
|
标准SQL类型
|
说明
|
integer或者int
|
int或者java.lang.Integer
|
INTEGER
|
4字节
|
long
|
long或者java.lang.Long
|
BIGINT
|
8字节
|
short
|
short或者java.lang.Short
|
SMALLINT
|
2字节
|
byte
|
byte或者java.lang.Byte
|
TINYINT
|
1字节
|
float
|
float或者java.lang.Float
|
FLOAT
|
4字节,单精度浮点数
|
double
|
double或者java.lang.Double
|
DOUBLE
|
8字节,双精度浮点数
|
big_decimal
|
java.math.BigDecimal
|
NUMERIC
|
NUMERIC(8,2)表示共8位数字,其中两位是小数
|
character
|
char或者java.lang.Character,java.lang.String
|
CHAR(1)
|
定长字符
|
string
|
java.lang.String
|
VARCHAR
|
变长字符
|
boolean
|
boolean或者java.lang.Boolean
|
BIT
|
布尔类型
|
yes_no
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘Y’ 或者’N’)
|
布尔类型
|
true_false
|
boolean或者java.lang.Boolean
|
CHAR(1)(‘T’ 或者’F’)
|
布尔类型
|
2、Java时间和日期类型的Hibernate的类型映射:
在Java中,代表时间和日期的类型包括:java.util.Date 和 java.util.Calendar。此外在JDBC API中还提供了三个扩展了java.util.Date类的子类:java.sql.Date 和 java.sql.Time 以及 java.sql.Timestamp,这三个类分别和标准sql类型中的DATE,TIME,TIMESTAMP相对应。
表2.2列出了Hibernate中的映射类型和与其对应的Java日期类型以及对应的标准SQL类型和相应的说明。
表2.2
映射类型
|
Java类型
|
标准SQL类型
|
说明
|
date
|
java.util.Date或者java.sql.Date
|
DATE
|
代表日期:形势为YYYY-MM-DD
|
time
|
java.util.Date或者java.sql.Time
|
TIME
|
代表时间:形式为HH:MM:SS
|
timestamp
|
java.util.Calendar
|
TIMESTAMP
|
代表时间和日期,形式为YYYYMMDDHHMMSS
|
calendar
|
同上
|
同上
|
同上
|
calendar_date
|
java.util.Calendar
|
DATE
|
代表日期:形势为YYYY-MM-DD
|
映射类型
|
Java类型
|
标准SQL类型
|
说明
|
date
|
java.util.Date或者java.sql.Date
|
DATE
|
代表日期:形势为YYYY-MM-DD
|
time
|
java.util.Date或者java.sql.Time
|
TIME
|
代表时间:形式为HH:MM:SS
|
timestamp
|
java.util.Calendar
|
TIMESTAMP
|
代表时间和日期,形式为YYYYMMDDHHMMSS
|
calendar
|
同上
|
同上
|
同上
|
calendar_date
|
java.util.Calendar
|
DATE
|
代表日期:形势为YYYY-MM-DD
|
字段类型映射配置事例:
<property name=”name” column=”Name” type=”string”/>
<property name=”birthday” column=”Brithday” type=”date”/>
<property name=”registereddate” column=”Registereddate” type=”timestamp”/>
下图为以上配置对应的数据库表:
Name varchar2(20)
Birthday DATE
Registereddate Timestamp
|
Name varchar2(20)
Birthday DATE
Registereddate Timestamp
|
3、JDK自带的个别Java类的Hibernate映射类型:
表2.3列出了个别Java类的Hibernate映射类型,与此对应的标准SQL类型均为VARCHAR类型。
表2.3
映射类型
|
Java类型
|
标准SQL类型
|
class
|
java.lang.Class
|
VARCHAR
|
locale
|
java.util.Locale
|
VARCHAR
|
timezone
|
java.util.TimeZone
|
VARCHAR
|
currency
|
java.util.Currency
|
VARCHAR
|
映射类型
|
Java类型
|
标准SQL类型
|
class
|
java.lang.Class
|
VARCHAR
|
locale
|
java.util.Locale
|
VARCHAR
|
timezone
|
java.util.TimeZone
|
VARCHAR
|
currency
|
java.util.Currency
|
VARCHAR
|
分享到:
相关推荐
Hibernate 映射类型与Java 类型、标准SQL对照
hibernate2json 该实现取自 要使用添加Maven依赖项,请执行以下操作: < groupId>com.github.alaptseu</ groupId> < artifactId>hibernate2json < version>1.0 如果您喜欢快照版本: < id>oss....
组件的属性可以是任意一种Hibernate类型(包括集合, 多对多关联, 以及其它组件等等)。嵌套组件不应该被当作一种特殊的应用(Nested components should not be considered an exotic usage)。 Hibernate倾向于支持...
5.2 Hibernate类型系统 5.2.1 概述实体和值类型 5.2.2 内建的映射类型 5.2.3 使用映射类型 5.3 创建定制的映射类型 5.3.1 考虑定制的映射类型 5.3.2 扩展点 5.3.3 定制映射类型的案例...
Hibernate 映射类型与Java 类型的对照表
hibernate映射枚举类型,hibernate如何映射枚举类型
NULL 博文链接:https://chenyi-dt.iteye.com/blog/666611
Hibernate中数据类型,涵盖了所有数据库的字段类型与Java基本类型间的映射关系
hibernate和java类型转换,hibernate和java类型转换
Hibernate数据类型映射表,介绍hibernate中各类型数据的关系!
Hibernate 数据类型
hibernate使用中与各种数据库字段类型对应类型训练,最主要的是看工程里的各种类型以及图片字段类型和存放方式!
解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题
在Hibernate中如何使用枚举映射,Hibernate中映射枚举类型
Hibernateg与各数据库数据类型的映射
关于Clob类型在Hibernate中 的应用小结关于Clob类型在Hibernate中 的应用小结关于Clob类型在Hibernate中 的应用小结关于Clob类型在Hibernate中 的应用小结
关于Hibernate的基本数据类型与Java中基本数据类型的映射关系
NULL 博文链接:https://wangqiang6028.iteye.com/blog/1852798
hibernate对Blob类型字段进行数据添加.txt
java中的数据类型要和hibernate的数据类型对应才能够正常的使用hibernate的操作,此文档就是把java和hibernate数据类型的对应列举出来,希望有所帮助大家