Hibernate类型映射之内置类型映射

Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserTypeCompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的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’)
布尔类型
     
  
2Java时间和日期类型的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
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1667224

相关推荐