Java 基本类型的 Hibernate 映射
标准 SQL 类型 | 大小和取值范围 | 映射类型 | Java 类型 |
INTEGER | 4 字节 | integer 或者 int | int 或者 java.lang.Integer |
BIGINT | 8 字节 | long | long or java.lang.Long |
SMALLINT | 2 字节 | short | short or java.lang.Short |
TINYINT | 1 字节 | byte | byte or java.lang.Byte |
FLOAT | 4 字节 | float | float or java.lang.Float |
DOUBLE | 8 字节 | double | double or java.lang.Double |
NUMERIC | NUMERIC(8,2)8 位 | big_decimal | java.math.BigDecimal |
CHAR(1) | 定长字符 | character | char Character java.lang.String |
VARCHAR | 变长字符串 | string | java.lang.String |
BIT | 布尔类型 | boolean | boolean or java.lang.Boolean |
CHAR(1) (Y-N) | 布尔类型 | yes_no | boolean or java.lang.Boolean |
CHAR(1) (T-F) | 布尔类型 | true_false | boolean or java.lang.Boolean |
Java 时间和日期类型的 Hibernate 映射
标准 SQL 类型 | 描述 | 映射类型 | Java 类型 |
DATE | YYYY-MM-DD | date | java.util.Date or java.sql.Date |
TIME | HH:MM:SS | time | java.util.Date or java.sql.Time |
TIMESTAMP | YYYYMMDDHHMMSS | timestamp | java.util.Date or java.sql.Timestamp |
TIMESTAMP | YYYYMMDDHHMMSS | calendar | java.util.Calendar |
DATE | YYYY-MM-DD | calendar/date | java.util.Calendar |
Java 大对象类型的 Hibernate 映射
标准 SQL 类型 |
MySQL 类型 |
Oracle 类型 |
映射类型 |
Java 类型 |
VARBINARY( 或 BLOB) |
BLOB |
BLOB |
binary |
byte[] |
CLOB |
TEXT |
CLOB |
text |
java.lang.String |
VARBINARY( 或 BLOB) |
BLOB |
BLOB |
serializable |
java.io.Serializable的任何实例 |
CLOB |
TEXT |
CLOB |
clob |
java.sql.Clob |
BLOB |
BLOB |
BLOB |
blob |
java.sql.Blob |
VARCHAR |
|
class |
java.lang.Class |
|
VARCHAR |
locale |
java.util.Locale |
||
VARCHAR | timezone | java.util.TimeZone | ||
VARCHAR | currency | java.util.Currency |
数据库整数型描述
INT 类型 |
该类型的实际含义 |
描述 |
Tinyint(m) |
8位整数,占用1个字节(-128~+127) |
TINYINT的取值范围是从-128~+127,如果使用了UNSIGNED属性,那么它的取值范围就变成了0~+255。如果用户试图存入超过字段取值范围的数字,MYSQL所做的工作就非常简单,它会直接替换成最大可取值或最小可取值。 tinyint(m)括号中的m,指的是最大"显示"宽度。 |
smallint(m) |
16位整数,占用2个字节(-32768~+32767) |
|
medimumint(m) |
24位整数,占用3个字节(-8388608~+8388607) |
|
int(m),integer(m) |
32位整数,占用4个字节(-2147483648~+2147483647) |
|
bigint(m) |
64位整数,占用8个字节(-9.22E+18 ~ +9.22E+18) |
|
serial |
这其实是bigint auto_increment not null primary key的简写 |
serial含义里的auto_increment,代表了该字段是自增字段。即,往有该属性的字段里插数据时,系统会自动把该字段的当前最大值加上1后存进去。 一般而言,该属性往往用于主键字段。在使用该属性时应当注意以下几个问题: 1、该属性必须与NOT NULL、primary Key 或者 Unique属性同时使用。 |