Hibernate的类型映射类型

  • Post author:
  • Post category:其他
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’)
布尔类型
     
  
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
 
 
字段类型映射配置事例:
 <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
 
 
 
 
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
 

版权声明:本文为iteye_5829原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。