Hibernate API简介
其接口分为以下几类:
l 提供访问数据库的操作的接口;
l 用于配置Hibernate的接口;
l 回调接口
l 扩展Hibernate的功能的接口。
这些接口大多数位于net.sf.hibernate包中
Hibernate的核心接口
5个核心接口:
l Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
l SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
l Session接口:负责保存、更新、删除、加载和查询对象。
l Transaction:管理事务。
l Query和Criteria接口:执行数据库查询。
SessionFactory实例对应一个数据存储源,特点:
线程安全的,重量级。
Session:是Hibernate应用最广泛的接口,特点:
不是线程安全的,轻量级。
java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
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
|
分享到:
相关推荐
当我们在使用Hibernate时,我们需要了解Java数据类型如何与SQL数据类型对应,以便正确地配置实体类和Hibernate的映射文件(通常是.hbm.xml文件或使用注解的方式)。例如,Java的`int`类型通常对应于SQL的`INTEGER`,...
这篇博客主要探讨了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...