1、java常用数据类型的hibernate映射
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 |
Java数据类型 | Hibernate数据类型 | 标准SQL数据类型 (PS:对于不同的DB可能有所差异) |
byte、java.lang.Byte | byte | TINYINT |
short、java.lang.Short | short | SMALLINT |
int、java.lang.Integer | integer | INGEGER |
long、java.lang.Long | long | BIGINT |
float、java.lang.Float | float | FLOAT |
double、java.lang.Double | double | DOUBLE |
java.math.BigDecimal | big_decimal | NUMERIC |
char、java.lang.Character | character | CHAR(1) |
boolean、java.lang.Boolean | boolean | BIT |
java.lang.String | string | VARCHAR |
boolean、java.lang.Boolean | yes_no | CHAR(1)('Y'或'N') |
boolean、java.lang.Boolean | true_false | CHAR(1)('Y'或'N') |
java.util.Date、java.sql.Date | date | DATE |
java.util.Date、java.sql.Time | time | TIME |
java.util.Date、java.sql.Timestamp | timestamp | TIMESTAMP |
java.util.Calendar | calendar | TIMESTAMP |
java.util.Calendar | calendar_date | DATE |
byte[] | binary | VARBINARY、BLOB |
java.lang.String | text | CLOB |
java.io.Serializable | serializable | VARBINARY、BLOB |
java.sql.Clob | clob | CLOB |
java.sql.Blob | blob | BLOB |
java.lang.Class | class | VARCHAR |
java.util.Locale | locale | VARCHAR |
java.util.TimeZone | timezone | VARCHAR |
java.util.Currency | currency | VARCHAR |
相关推荐
这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在Hibernate中有对应的类型映射。例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空...
下面我们将详细探讨Java、Hibernate以及SQL之间的数据类型对应关系。 1. **基本数值类型**: - `byte` 和 `java.lang.Byte` 对应于 SQL 的 `TINYINT` - `short` 和 `java.lang.Short` 对应于 SQL 的 `SMALLINT` ...
在Java编程语言中,与数据库交互是常见的任务,这就涉及到`java.sql.Types`枚举类,它是Java数据类型与数据库字段类型之间的桥梁。`java.sql.Types`定义了一系列常量,这些常量代表了SQL标准中的数据类型,使得我们...
Hibernate 提供了多种数据类型,用于匹配不同数据库系统支持的标准 SQL 数据类型。这些数据类型包括: - **数值类型**:例如,`byte` 和 `java.lang.Byte` 映射到 `TINYINT`,`short` 和 `java.lang.Short` 映射到 ...
2. **实现Hibernate的Type接口**:这个接口是自定义数据类型的核心,它定义了如何在Java对象和SQL值之间进行转换。你需要实现`nullSafeGet()`和`nullSafeSet()`方法,分别用于从ResultSet中读取数据和将数据写入...
标题:“Hibernate数据类型映射及ID” 描述:“Hibernate与各数据库数据类型的映射” ### Hibernate数据类型映射 Hibernate作为一款流行的Java持久层框架,它提供了丰富的数据类型映射功能,使得开发者能够更加...
Hibernate简化了Java应用程序与数据库之间的交互,它允许我们将Java对象直接映射到数据库中的表。理解Hibernate映射类型与Java类型的对应关系对于有效地使用Hibernate至关重要。 首先,我们来看一下基本数据类型的...
在Hibernate中,Java类被称为实体类,它们代表数据库中的表。使用注解@Entity声明一个类为实体,@Table指定对应的表名,@Id标识主键字段。此外,@Column、@GeneratedValue等注解用于详细描述字段的映射规则。 五、...
在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地在Java对象和数据库表之间进行数据操作。当我们需要执行一些特殊的、复杂的或者非标准的SQL...
### Java框架之Hibernate详解 #### 一、Get与Load方法的区别 在Hibernate中,`get()`和`load()`方法是用来加载持久化实体的主要方法。它们之间的主要区别在于处理空值和懒加载的方式。 1. **Load方法**: - `...
7. **CLOB(字符大对象)**:用于存储大量文本数据,如XML文档,对应的Java类型是`java.sql.Clob`。 8. **自增主键**:例如MySQL的AUTO_INCREMENT,Hibernate通常通过`@GeneratedValue`和`@Id`注解配合`...
在Java编程领域,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本项目通过Java的反射和注解技术,试图模拟Hibernate的部分功能,以便更好...
1. 实体(Entity):在Hibernate中,实体对应数据库中的表,通常是一个Java类。 2. 主键(Primary Key):每个实体都有一个主键,它是表中的唯一标识符。 3. Session:Hibernate的核心接口,负责对象的创建、读取、...
在反向工程过程中,Hibernate首先获取数据库的元数据,包括表名、字段名、数据类型、约束条件等。这些元数据是生成Java代码的基础,确保了Java类与数据库表结构的一致性。 4. Java持久化接口: Hibernate逆向工程...
在使用Hibernate时,我们需要将Java对象的属性映射到数据库中的列,这就涉及到Java类型与Hibernate映射类型以及标准SQL类型之间的对比。以下是对这些类型的详细解析: 1. **整数类型**: - Java中的`int`或`...
2. **对象关系映射(ORM)**:ORM是Java持久化技术的核心,通过将数据库表映射为Java类,以及类的属性对应表的字段,使得数据库操作与业务逻辑更加解耦。 3. **配置Hibernate**:书中详细讲解了如何配置Hibernate的...
关于Mysql数据库数据类型的映射,Hibernate提供了一套标准的数据类型映射。例如: - `String` 对应 `VARCHAR` - `int` 或 `Integer` 对应 `INTEGER` - `long` 或 `Long` 对应 `BIGINT` - `boolean` 对应 `BIT` - `...
在实体类生成数据库表的过程中,反射被用来读取实体类的元数据,如字段名、类型等,然后根据这些信息构建出创建数据库表的SQL语句。 在实际应用中,我们可能使用Hibernate的`Hibernate Tools`或者MyBatis的`MyBatis...