Hibernate的映射类型 hibernate mysql映射类型
| 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 | util.Date 或者 sql.Date | DATE | YYYY-MM-DD |
| time | Date??? Time | TIME | HH:MM:SS |
| timestamp | 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 实例时,必须包含两个步骤:
在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中