Hibernate的映射类型(转)
关键字: hibernate
Hibernate 映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的 Java 类型映射到相应的 SQL 类型;此外, Hibernate 还允许用户实现 UserType 或 CompositeUserType 接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的 Java 类型映射到数据库表的相应字段。
一、 Hibernate 的内置映射类型
1 、 Java 基本类型的 Hibernate 映射类型
Hibernate 映射类型 Java 类型 标准 SQL 类型 大小和取值范围
integer 或者 int int 或者 java.lang.Integer INTEGER 4 字节
long long Long BIGINT 8 字节
short short Short SMALLINT 2 字节
byte byte Byte TINYINT 1 字节
float float Float FLOAT 4 字节
double double Double DOUBLE 8 字节
big_decimal java.math.BigDecimal NUMERIC NUMERIC(8,2)8 位
character char Character String CHAR(1) 定长字符
string String VARCHAR 变长字符串
boolean boolean Boolean BIT 布尔类型
yes_no boolean Boolean CHAR(1) (Y-N) 布尔类型
true_false boolean Boolean CHAR(1) (T-F) 布尔类型
2 、 Java 时间和日期类型的 Hibernate 映射
映射类型 Java 类型 标准 SQL 类型 描述
date java.util.Date 或者java.sql.Date DATE YYYY-MM-DD
time java.util.Date Time TIME HH:MM:SS
timestamp java.util.Date Timestamp TIMESTAMP YYYYMMDDHHMMSS
calendar calendar TIMESTAMP YYYYMMDDHHMMSS
calendar_date calendar DATE YYYY-MM-DD
3 、 Java 大对象类型的 Hibernate 映射类型
映射类型 Java 类型 标准 SQL 类型 MySQL 类型 Oracle 类型
binary byte[] VARBINARY( 或 BLOB) BLOB BLOB
text String CLOB TEXT CLOB
serializable Serializable 接口任意实现类 VARBINARY( 或 BLOB) BLOB BLOB
clob java.sql.Clob CLOB TEXT CLOB
blob java.sql.Blob BLOB BLOB BLOB
在程序中通过 Hibernate 来保存 java.sql.Clob 或者 java.sql.Blob 实例时,必须包含两个步骤:
l 在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
l 接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中。
关键字: hibernate
Hibernate 映射类型分为两种:内置映射类型和客户化映射类型。内置映射类型负责把一些常见的 Java 类型映射到相应的 SQL 类型;此外, Hibernate 还允许用户实现 UserType 或 CompositeUserType 接口,来灵活地定制客户化映射类型。客户化类型能够把用户定义的 Java 类型映射到数据库表的相应字段。
一、 Hibernate 的内置映射类型
1 、 Java 基本类型的 Hibernate 映射类型
Hibernate 映射类型 Java 类型 标准 SQL 类型 大小和取值范围
integer 或者 int int 或者 java.lang.Integer INTEGER 4 字节
long long Long BIGINT 8 字节
short short Short SMALLINT 2 字节
byte byte Byte TINYINT 1 字节
float float Float FLOAT 4 字节
double double Double DOUBLE 8 字节
big_decimal java.math.BigDecimal NUMERIC NUMERIC(8,2)8 位
character char Character String CHAR(1) 定长字符
string String VARCHAR 变长字符串
boolean boolean Boolean BIT 布尔类型
yes_no boolean Boolean CHAR(1) (Y-N) 布尔类型
true_false boolean Boolean CHAR(1) (T-F) 布尔类型
2 、 Java 时间和日期类型的 Hibernate 映射
映射类型 Java 类型 标准 SQL 类型 描述
date java.util.Date 或者java.sql.Date DATE YYYY-MM-DD
time java.util.Date Time TIME HH:MM:SS
timestamp java.util.Date Timestamp TIMESTAMP YYYYMMDDHHMMSS
calendar calendar TIMESTAMP YYYYMMDDHHMMSS
calendar_date calendar DATE YYYY-MM-DD
3 、 Java 大对象类型的 Hibernate 映射类型
映射类型 Java 类型 标准 SQL 类型 MySQL 类型 Oracle 类型
binary byte[] VARBINARY( 或 BLOB) BLOB BLOB
text String CLOB TEXT CLOB
serializable Serializable 接口任意实现类 VARBINARY( 或 BLOB) BLOB BLOB
clob java.sql.Clob CLOB TEXT CLOB
blob java.sql.Blob BLOB BLOB BLOB
在程序中通过 Hibernate 来保存 java.sql.Clob 或者 java.sql.Blob 实例时,必须包含两个步骤:
l 在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
l 接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中。