转:http://blog.csdn.net/javacoffe/article/details/1667224
Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。
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字节
扫描二维码关注公众号,回复:
413353 查看本文章
|
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’) |
布尔类型 |
映射类型
|
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 |
Name varchar2(20)
Birthday DATE
Registereddate Timestamp
|
Name varchar2(20)
Birthday DATE
Registereddate Timestamp
|
映射类型
|
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 |