Hibernate映射类型对照表
java类型 |
Hibernate映射类型
|
SQL类型 |
java.math.BigDecimal |
big_decimal |
numeric |
byte[] |
binary |
varbinary(blob) |
boolean(java.lang.Boolean) |
boolean |
bit |
byte(java.lang.Byte) |
byte |
tinyint |
java.util.Calendar |
calendar |
timestamp |
java.sql.Clob |
clob |
clob |
java.util.Date 或java.sql.Date |
date |
date |
double(java.lang.Double) |
double |
double |
float(java.lang.Float) |
float |
float |
int (java.lang.Integer) |
integer |
integer |
java.util.Local |
local |
varchar |
long(java.lang.Long) |
long |
bigint |
java.io.Serializable的某个实例 |
serializable |
varbinary(或blob) |
java.lang.String |
string |
varchar |
java.lang.String |
text |
clob |
java.util.Date 或 java.sql.Timestamp |
time |
timestamp |
从书上把这个表抄下来方便以后查阅.
考虑到 操作 blob 的字段太复杂 一个变换的技巧是 . 实体类用 byte[] 类型 , hibernate 类型用 binary ,数据库还是用 blob .这样 可以简化一些操作.
Hibernate的映射类型 hibernate mysql映射类型
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 实例时,必须包含两个步骤:
l 在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
l 接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中
分享到:
相关推荐
理解Hibernate映射类型与Java类型的对应关系对于有效地使用Hibernate至关重要。 首先,我们来看一下基本数据类型的映射。`integer`对应Java中的`int`或`Integer`,在SQL中映射为`INTEGER`类型;`long`对应`long`或`...
hibernate框架在实现自动生成数据库表时,对现有的java字段类型和常用的数据库如(Oracle,MySQL,PostgreSQL)等有对应的字段映射关系,该文件的主要内容就是具体的字段映射情况。
这里,我们提到了一个名为“Hibernate的映射类型_hibernate_mysql映射类型.doc”的文档,这很可能是一个详细的对照表,列出了Hibernate如何将Java数据类型映射到MySQL数据库的SQL数据类型。MySQL是世界上最流行的...
Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者将数据库操作抽象化,以对象的方式进行处理,极大地简化了数据库编程。`hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接...
在项目初期,这些工具可以帮助快速建立数据库模型并与Hibernate映射进行对照。 五、训练与实践 为了熟练掌握Hibernate与数据库字段类型的映射,你可以通过以下步骤进行训练: 1. 设计一个简单的数据库模型,包括...
* Java Type:Hibernate 内部直接提供了 Java 类型到数据库的对照表 * Hibernate Type:需要查找该 Hibernate 类型对应的 Java 类型,从而再找到数据库类型 主键的产生器 * Increment:查找主键的最大值,在最大值...
2. **对象关系映射(ORM)**:ORM是Hibernate的核心功能之一,书中对此进行了详尽的阐述,包括如何将Java对象映射到数据库表中的记录。 3. **持久化管理**:持久化是ORM中的一个重要概念,本书探讨了如何有效地管理...
- **Hibernate类型与MySQL数据类型的映射关系**:例如,Java的 `int`、`long`、`short`、`byte`、`float`、`double` 等基础类型分别对应MySQL的 `INTEGER`、`BIGINT`、`SMALLINT`、`TINYINT`、`FLOAT`、`DOUBLE` 等...
在映射类型与Java类型的对照中,我们可以看到Hibernate是如何将Java类型与标准SQL类型相对应的。例如: - `integer`映射为`int`或`Integer`,对应的SQL类型是`INTEGER`。 - `long`映射为`long`或`Long`,对应的SQL...
- **继承关系映射**: 支持不同类型的继承关系映射。 **2.2 基数关系映射** - **一对一映射**: - **外键映射**: 在一方的表中添加另一方的主键作为外键。 - **主键映射**: 双方共享同一个主键。 - **一对多映射**:...
11. **继承映射**:Hibernate支持单表继承、联合继承和表-per-hierarchy、表-per-subclass等多种继承策略。 12. **复杂类型**:如数组、集合、枚举类型的映射,以及自定义类型的支持。 13. **事件监听器**:可以...
在 Hibernate3 中,实体类是数据库表的映射,可以通过注解(@Entity, @Table, @Id, @GeneratedValue 等)来定义映射规则。注解简化了 XML 映射文件的使用,提高了代码可读性和可维护性。 5. **查询语言(HQL)**:...
Hibernate通过ORM(对象关系映射)技术,将Java对象与数据库表对应,提供了一种透明的数据库访问方式。它支持CRUD(创建、读取、更新、删除)操作,以及查询优化和事务管理。 **三、AJAX与Hibernate结合** 将AJAX与...
1. **Hibernate框架**:Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,将数据库的CRUD操作转换为面向对象的方式。在本实验中,Hibernate用于处理学生、课程、选课等实体对象与数据库之间...
在Java的持久化框架Hibernate中,一对一(One-to-One)关联是对象关系映射(ORM)中的一个重要概念。这种关联关系意味着一个实体最多只能与另一个实体的实例进行关联,反之亦然。本示例将深入讲解如何在Hibernate中...
在Java开发领域,Hibernate是一个广泛使用的对象关系映射(ORM)框架,它提供了多种查询方式,包括HQL(Hibernate Query Language)和Criteria API。这两种方法各自拥有独特的语法和特性,适用于不同的场景。本文将...
在本章的“最经典的Hibernate教程_从入门到精通3”中,我们将深入探讨Hibernate的...通过学习本章,读者将能够熟练掌握Hibernate的关联映射,有效地在Java对象和数据库表之间建立和管理关系,提高开发效率和代码质量。
在软件开发过程中,数据库模型与Java对象的映射是一个常见...通过理解和掌握如何配置Ant脚本以及 middlegen参数,开发者能够快速、准确地生成所需的Java Bean和Hibernate映射文件,从而专注于更高级别的业务逻辑开发。
- 提供了MySQL的建表SQL示例、Java到SQL数据类型映射表,以及Oracle与MySQL、SQL Server数据类型的转化对照表,作为迁移过程中的参考。 总的来说,数据库迁移是一项复杂的工作,涉及到多个层面的调整和优化。在...
启动项目时,Hibernate会根据这些映射自动创建对应的数据库表,免去了手动建表的步骤。 2. **无需数据库配置**:在描述中提到,该项目可能不需用户预先配置数据库连接,这可能意味着数据库连接信息已经内置在项目中...