Hibernate 的配置文件里的 SQL-type
在 HSQL里 不指定 SqL -TYPE 当 数据类型为 java.util.Date的时候 默认使用 datatime 作为 数据库类型
但是在 sql 2005 里 会自动转变为 时间戳 timestamp 对应的 java 类型为 java.sql.timestamp
哪怕是使用 Calendar 也会变成 这个 时间戳类型
时间戳是不能 直接 insert 操作的
所以会 在初始化数据的时候报错
(使用 sql 初始化)
因此需要 对 sql -type 进行数据类型的指定
Hibernate映射类型 | Java类型 | 标准SQL类型 | 大小 |
integer/int | java.lang.Integer/int | INTEGER | 4字节 |
long | java.lang.Long/long | BIGINT | 8字节 |
short | java.lang.Short/short | SMALLINT | 2字节 |
byte | java.lang.Byte/byte | TINYINT | 1字节 |
float | java.lang.Float/float | FLOAT | 4字节 |
double | java.lang.Double/double | DOUBLE | 8字节 |
big_decimal | java.math.BigDecimal | NUMERIC |
character | java.lang.Character/java.lang.String/char | CHAR(1) | 定长字符 |
string | java.lang.String | VARCHAR | 变长字符 |
boolean/ yes_no/true_false | java.lang.Boolean/Boolean | BIT | 布尔类型 |
date | java.util.Date/java.sql.Date | DATE | 日期 |
timestamp | java.util.Date/java.sql.Timestamp | TIMESTAMP | 日期 |
calendar | java.util.Calendar | TIMESTAMP | 日期 |
calendar_date | java.util.Calendar | DATE | 日期 |
binary | byte[] | BLOB | BLOB |
text | java.lang.String | TEXT | CLOB |
serializable | 实现java.io.Serializablej接口的任意Java类 | BLOB | BLOB |
clob | java.sql.Clob | CLOB | CLOB |
blob | java.sql.Blob | BLOB | BLOB |
class | java.lang.Class | VARCHAR | 定长字符 |
locale | java.util.Locale | VARCHAR | 定长字符 |
timezone | java.util.TimeZone | VARCHAR | 定长字符 |
currency | java.util.Currency | VARCHAR | 定长字符 |
分享到:
相关推荐
5. **Hbm2DDL Auto**:在Hibernate配置中,有一个属性`hibernate.hbm2ddl.auto`,它可以设置为不同的值,如`create`、`update`、`validate`等,控制Hibernate在启动时对数据库的操作。例如,`create`会根据实体类...
- 在Spring或`hibernate.cfg.xml`配置文件中,可以使用宏定义或者条件注解来根据数据库类型加载不同的映射文件。这样,不同的数据库环境只需配置相应的连接参数,而无需修改核心的配置文件。 4. **大字段处理** -...
在反向工程过程中,Hibernate首先获取数据库的元数据,包括表名、字段名、数据类型、约束条件等。这些元数据是生成Java代码的基础,确保了Java类与数据库表结构的一致性。 4. Java持久化接口: Hibernate逆向工程...
标题"Hibernate实例 oracel数据库"表明我们将探讨如何使用ORM框架Hibernate与Oracle数据库进行交互。在实际开发中,Hibernate是Java领域非常流行的一个对象关系映射工具,它允许开发者以面向对象的方式操作数据库,...
Hibernate 与各种数据库的连接配置 Hibernate 是一个 популяр的对象关系映射(ORM)工具,用于将 Java 对象映射到关系数据库中。为了使用 Hibernate,需要配置连接数据库的设置。下面将介绍 Hibernate 与...
在IT行业中,Hibernate是一个非常流行的Java对象关系映射(ORM)框架,它允许开发者将数据库操作与业务逻辑解耦,从而提高开发效率。本篇文章主要关注的是如何在Hibernate 3.0版本中,通过它提供的工具自动生成POJO...
本训练主要关注在使用Hibernate时如何处理与各种数据库字段类型的映射,这对于理解和优化数据库交互至关重要。 首先,我们要理解Hibernate的核心概念——对象关系映射(ORM)。ORM允许我们将数据库表结构映射到Java...
Hibernate作为ORM框架的代表,通过配置文件(hibernate.cfg.xml)和映射文件(.hbm.xml)定义了对象和数据库表之间的映射关系。 2. **Hibernate架构** Hibernate主要由配置文件、实体类、映射文件、Session接口、...
本文将深入探讨如何在Hibernate配置中设置与数据库字段的对应关系,以及相关的Mysql数据库数据类型。 首先,我们需要理解Hibernate的核心配置文件`hibernate.cfg.xml`,在这个文件中,我们定义了数据源、持久化类...
在Java的持久化框架Hibernate中,`hibernate.hbm.xml`文件是至关重要的,它定义了Java对象与数据库表之间的映射关系,使得对象模型能够与关系型数据库无缝对接。这篇文章将深入解析`hibernate.hbm.xml`的结构和主要...
在Hibernate中,每个数据库表都对应一个Java实体类,通过注解或XML配置文件(`hbm.xml`)进行映射。例如,一个名为`User`的表可以对应一个`User.java`实体类,并通过`@Entity`注解标记为Hibernate实体。 6. **...
**hibernate 与 各种数据库连接配置** ...根据不同的数据库类型,调整相应的连接参数和方言,可以确保应用程序顺利地与数据库交互。同时,合理利用高级配置选项,如连接池和自动模式管理,可以提升应用性能和开发效率。
- 数据类型匹配:确保Java类型与Oracle数据库类型一致。 - 数据库连接池:使用C3P0、HikariCP等连接池,提高连接管理效率。 - 乐观锁/悲观锁:处理并发控制,防止数据冲突。 通过上述步骤,开发者可以在Java应用中...
Hibernate 反向工程是指使用 Hibernate 工具将数据库表结构反向生成对应的 Entity 类和 hbm.xml 文件的过程。这种方法可以大大简化开发过程,提高开发效率。 二、 Hibernate 反向工程的步骤 1. 切换到 MyEclipse ...
- 可以选择创建XML映射文件(`.hbm.xml`),或者使用Java注解来描述实体类与数据库表之间的映射关系。 - 映射文件中包含字段到列的映射,以及非持久化属性等信息。 4. **SessionFactory和Session** - `...
例如,你可以定义一个模板,包含字段名、字段类型、数据库列名等信息,`Hibernate-tools`会根据模板生成带注释的代码。 3. **配置与使用** 要使用`Hibernate-tools`,首先需要将其加入到项目的类路径中。然后,...
本压缩包“根据hibernate配置文件生成数据库.zip”包含了一些关键资源,帮助开发者理解如何使用Hibernate工具hbm2ddl自动生成数据库结构。以下是对这些资源的详细解释: 1. **使用Hibernate的工具hbm2ddl根据你的...
当应用程序启动并建立数据库连接时,Hibernate会自动检查`hibernate.hbm2ddl.auto`的设置,并根据实体类创建表。如果表已经存在,`create`策略会删除旧表并重新创建,因此在生产环境中通常使用`update`或`validate`...
这可以通过解析数据库元数据来实现,比如使用`org.hibernate.tool.hbm2ddl.SchemaExport`工具生成HBM文件,然后反向工程生成Java实体。 4. **Criteria API和HQL的动态构建**:这些API允许在运行时根据条件动态构造...