Hibernate – 映射类型
Hibernate 是一个Java框架,可简化Java应用程序与数据库交互的开发。它是一个开源、轻量级的 ORM(对象关系映射)工具。 Hibernate 实现了 JPA (Java Persistence API) 的规范来进行数据持久化。
我们维护不同的关系以在关系数据库模型中的不同数据库表之间建立链接。这些关系是一对一、一对多和多对多的。类似的概念正在hibernate中安装。在这里,hibernate 将Java语言链接到数据库表,通过这个链接我们可以建立关系/映射。
映射的主要基本类型是:
- 原始类型
- 日期和时间类型
- 二进制和大对象类型
- JDK 相关的类型
因此,让我们详细讨论上面列出的 4 种映射类型,如下所示:
A. 原始类型
这些映射类型的数据类型定义为“integer”、“字符”、“float”、“字符串”、“double”、“Boolean”、“short”、“long”等。这些存在于 hibernate 框架中以映射Java数据类型到 RDBMS 数据类型。
Mapping Type | Java Type | ANSI SQL Type |
---|---|---|
integer | int or java.lang.Integer | INTEGER |
character | java.lang.String | CHAR(1) |
float | float or java.lang.Float | FLOAT |
string | java.lang.String | VARCHAR |
double | double or java.lang.Double | DOUBLE |
boolean | boolean or java.lang.Boolean | BIT |
short | short or java.lang.Short | SMALLINT |
long | long or java.lang.Long | BIGINT |
byte | byte or java.lang.Byte | TINYINT |
big_decimal | java.math.BigDecimal | NUMERIC |
B. 日期和时间
它们是“日期”、“时间”、“日历”、“时间戳”等。与原始数据一样,我们有这些日期和时间数据类型映射。Mapping type Java type ANSI SQL Type date java.util.Date or java.sql.Date DATE time java.util.Date or java.sql.Time TIME calendar java.util.Calendar TIMESTAMP timestamp java.util.Date or java.sql.Timestamp TIMESTAMP calendar_date java.util.Calendar DATE
C. 二进制和大对象
这些类型是“clob”、“blob”、“binary”、“text”等。存在 Clob 和 blob 数据类型以维护大型对象(如图像和视频)的数据类型映射。Mapping type Java type ANSI SQL Type clob java.sql.Clob CLOB blob java.sql.Blob BLOB binary byte[] VARBINARY (or BLOB) text java.lang.String CLOB serializable any Java class that implements java.io.Serializable VARBINARY (or BLOB)
D. JDK 链接
一些超出先前类型映射范围的对象映射包含在此类别中。它们是“类”、“语言环境”、“货币”、“时区”。Mapping type Java type ANSI SQL Type class java.lang.Class VARCHAR locale java.util.Locale VARCHAR currency java.util.Currency VARCHAR timezone java.util.Currency VARCHAR