Java 类型的 Hibernate 映射

Posted 踏步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 类型的 Hibernate 映射相关的知识,希望对你有一定的参考价值。

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属性同时使用。
2、每个数据表只能存有一个auto_increment属性的数据列
3、该属性一般是在进行数据插入时,没有明确指定值或者指定值为NULL时,才起作用。如果指定了值,并且该值还没有出现过,MYSQL将使用该值插入,以生成一条新记录。这时候就有两种情况:a)原有的数据是1~100,后来删除了20~80的内容,即数据库里只存在1~19,81~100的数据,当插入ID为20的数据时,数据库还是会按照规则,把20这条记录插进去,并不会报错,自增值仍然是100,下次正常插入时,还是会默认使用101这个值。b)原有的数据是1~100,我插入ID为1000的数据时,不会报错,但自增值变为1000,下次插入数据从1001起算。

参考:https://www.cnblogs.com/mjtabu/p/12885043.html

以上是关于Java 类型的 Hibernate 映射的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate笔记

Hibernate开发流程

Java 类型的 Hibernate 映射

hibernate的映射类型

3.Hibernate 映射类型

Hibernate映射java的boolean类型