`

hibernate 类型

 
阅读更多

转:http://blog.csdn.net/javacoffe/article/details/1667224

Hibernate的类型映射类型从总体上可以分为两种:内置类型映射和客户类型映射。内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。

内置类型映射:
(1)   Java基本类型的Hibernate映射:
2.1列出了Hibernate中的映射类型和与其对应的Java类型以及对应的标准SQL类型和相应的说明。
 
2.1

Hibernate映射类型
Java类型
标准SQL类型
说明
integer或者int
int或者java.lang.Integer
INTEGER
4字节
long
long或者java.lang.Long
BIGINT
8字节
short
short或者java.lang.Short
SMALLINT
2字节
byte
byte或者java.lang.Byte
TINYINT
1字节
float
float或者java.lang.Float
FLOAT
4字节,单精度浮点数
double
double或者java.lang.Double
DOUBLE
8字节,双精度浮点数
big_decimal
java.math.BigDecimal
NUMERIC
NUMERIC(8,2)表示共8位数字,其中两位是小数
character
char或者java.lang.Character,java.lang.String 
CHAR(1)
定长字符
string
java.lang.String
VARCHAR
变长字符
boolean
boolean或者java.lang.Boolean
BIT
布尔类型
yes_no
boolean或者java.lang.Boolean
CHAR(1)(‘Y’ 或者’N’)
布尔类型
true_false
boolean或者java.lang.Boolean
CHAR(1)(‘T’ 或者’F’)
布尔类型
     

Hibernate映射类型

Java类型

标准SQL类型

说明

integer或者int

int或者java.lang.Integer

INTEGER

4字节

long

long或者java.lang.Long

BIGINT

8字节

short

short或者java.lang.Short

SMALLINT

2字节

byte

byte或者java.lang.Byte

TINYINT

1字节

float

float或者java.lang.Float

FLOAT

4字节,单精度浮点数

double

double或者java.lang.Double

DOUBLE

8字节,双精度浮点数

big_decimal

java.math.BigDecimal

NUMERIC

NUMERIC(8,2)表示共8位数字,其中两位是小数

character

char或者java.lang.Character,java.lang.String 

CHAR(1)

定长字符

string

java.lang.String

VARCHAR

变长字符

boolean

boolean或者java.lang.Boolean

BIT

布尔类型

yes_no

boolean或者java.lang.Boolean

CHAR(1)(‘Y’ 或者’N’)

布尔类型

true_false

boolean或者java.lang.Boolean

CHAR(1)(‘T’ 或者’F’)

布尔类型

  
2Java时间和日期类型的Hibernate的类型映射:
 Java中,代表时间和日期的类型包括:java.util.Date java.util.Calendar。此外在JDBC API中还提供了三个扩展了java.util.Date类的子类:java.sql.Date java.sql.Time 以及 java.sql.Timestamp,这三个类分别和标准sql类型中的DATE,TIME,TIMESTAMP相对应。
 
2.2列出了Hibernate中的映射类型和与其对应的Java日期类型以及对应的标准SQL类型和相应的说明。
2.2

映射类型
Java类型
标准SQL类型
说明
date
java.util.Date或者java.sql.Date
DATE
代表日期:形势为YYYY-MM-DD
time
java.util.Date或者java.sql.Time
TIME
代表时间:形式为HH:MM:SS
timestamp
java.util.Calendar
TIMESTAMP
代表时间和日期,形式为YYYYMMDDHHMMSS
calendar
同上
同上
同上
calendar_date
java.util.Calendar
DATE
代表日期:形势为YYYY-MM-DD
 

映射类型

Java类型

标准SQL类型

说明

date

java.util.Date或者java.sql.Date

DATE

代表日期:形势为YYYY-MM-DD

time

java.util.Date或者java.sql.Time

TIME

代表时间:形式为HH:MM:SS

timestamp

java.util.Calendar

TIMESTAMP

代表时间和日期,形式为YYYYMMDDHHMMSS

calendar

同上

同上

同上

calendar_date

java.util.Calendar

DATE

代表日期:形势为YYYY-MM-DD

 
字段类型映射配置事例:
 <property name=”name” column=”Name” type=”string”/>
 <property name=”birthday” column=”Brithday” type=”date”/>
 <property name=”registereddate” column=”Registereddate” type=”timestamp”/>
下图为以上配置对应的数据库表:

Name          varchar2(20)
 
Birthday       DATE
 
Registereddate Timestamp
 
 
 

Name          varchar2(20)

 

Birthday       DATE

 

Registereddate Timestamp

 

 

 
3、JDK自带的个别Java类的Hibernate映射类型:
2.3列出了个别Java类的Hibernate映射类型,与此对应的标准SQL类型均为VARCHAR类型。
 
2.3

映射类型
Java类型
标准SQL类型
class
java.lang.Class
VARCHAR
locale
java.util.Locale
VARCHAR
timezone
java.util.TimeZone
VARCHAR
currency
java.util.Currency
VARCHAR
 

映射类型

Java类型

标准SQL类型

class

java.lang.Class

VARCHAR

locale

java.util.Locale

VARCHAR

timezone

java.util.TimeZone

VARCHAR

currency

java.util.Currency

VARCHAR

分享到:
评论

相关推荐

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    - **自定义Type**:创建自定义的Hibernate类型,覆盖默认的日期时间处理方式,以满足特定需求。 以上就是关于"解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题"的详细分析和解决方案。在实际开发中,...

    hibernate和java类型转换

    hibernate和java类型转换,hibernate和java类型转换

    JAVA数据类型与Hibernate的类型映射

    而在Java持久化框架Hibernate中,这些数据类型需要与数据库中的字段类型进行映射,以便正确地存储和检索数据。这篇博客主要探讨了Java数据类型如何与Hibernate的类型映射进行对应。 首先,Java的基本数据类型在...

    Hibernate学习笔记整理

    * Hibernate Type:需要查找该 Hibernate 类型对应的 Java 类型,从而再找到数据库类型 主键的产生器 * Increment:查找主键的最大值,在最大值的基础上加 1 * Assigned:由程序手动赋值 * Identity:支持主键自动...

    hibernate2json:使用通用的Hibernate类型映射JSON对象

    hibernate2json 该实现取自 要使用添加Maven依赖项,请执行以下操作: &lt; groupId&gt;com.github.alaptseu&lt;/ groupId&gt; &lt; artifactId&gt;hibernate2json &lt; version&gt;1.0 如果您喜欢快照版本: &lt; id&gt;oss....

    hibernate完整JAR包

    8. **类型转换**:hibernate-types-52.jar包含了一些自定义的Hibernate类型,用于处理如JSON、日期时间等复杂类型的数据。 9. **JPA规范**:如javax.persistence-api.jar,提供了JPA的规范接口,使得Hibernate可以...

    hibernate的知识总结

    - **Hibernate类型与Oracle数据类型的映射关系**:例如,`java.lang.Long` 对应于Oracle的 `NUMBER` 类型,`java.lang.String` 对应 `VARCHAR2`,`java.lang.Double` 对应 `NUMBER`,`java.sql.Timestamp` 对应 `...

    hibernate annotation 中文文档

    - `@Type`: 使用自定义的Hibernate类型,如日期时间格式等。 以上仅是Hibernate Annotation部分核心概念的简述,实际使用中还需要根据项目需求和最佳实践来灵活应用。深入理解和熟练掌握这些注解,能极大地提升...

    用Hibernate实现领域对象的自定义字段

    这时,我们需要创建自定义的Hibernate类型来处理这些特殊的字段。 创建自定义类型通常包括以下步骤: 1. **定义Java类**:为自定义字段创建一个Java类,这个类将封装特定的数据结构。例如,如果我们有一个日期范围...

    Java数据类型,Hibernate数据类型,标准sql数据类型之间的对应表

    这里,我们提到了一个名为“Hibernate的映射类型_hibernate_mysql映射类型.doc”的文档,这很可能是一个详细的对照表,列出了Hibernate如何将Java数据类型映射到MySQL数据库的SQL数据类型。MySQL是世界上最流行的...

    Hibernate中文API大全

    组件的属性可以是任意一种Hibernate类型(包括集合, 多对多关联, 以及其它组件等等)。嵌套组件不应该被当作一种特殊的应用(Nested components should not be considered an exotic usage)。 Hibernate倾向于支持...

    hibernate杂谈

    在这一部分,作者还介绍了一个自定义的Hibernate类型JsonType,它可以将对象列表转换为JSON字符串格式存储,并能够在需要时将这些字符串反序列化回对象列表。这种做法能够简化数据库模型,避免不必要的关联表查询。 ...

    Hibernate中数据类型

    Hibernate 提供了多种数据类型,用于匹配不同数据库系统支持的标准 SQL 数据类型。这些数据类型包括: - **数值类型**:例如,`byte` 和 `java.lang.Byte` 映射到 `TINYINT`,`short` 和 `java.lang.Short` 映射到 ...

    Hibernate 映射类型与Java 类型对照

    理解Hibernate映射类型与Java类型的对应关系对于有效地使用Hibernate至关重要。 首先,我们来看一下基本数据类型的映射。`integer`对应Java中的`int`或`Integer`,在SQL中映射为`INTEGER`类型;`long`对应`long`或`...

    Hibernate实战(第2版 中文高清版)

     5.2 Hibernate类型系统   5.2.1 概述实体和值类型   5.2.2 内建的映射类型   5.2.3 使用映射类型   5.3 创建定制的映射类型   5.3.1 考虑定制的映射类型   5.3.2 扩展点   5.3.3 定制映射类型的案例...

    基于Struts2+Hibernate的登录注册系统

    在Hibernate中,这可能通过自定义的Hibernate类型或者在保存前使用Java的`PasswordEncoder`接口进行实现。同时,系统应该有防止SQL注入的措施,例如使用预编译的SQL语句或使用Hibernate的参数化查询。 在实际运行时...

    hibernate 杂谈

    一个更简洁的解决方案是将这些数据存储为JSON格式,并利用自定义的Hibernate类型进行转换。例如,在OrderModel类中,可以定义一个字段`favorableDescList`,使用`@Type(type = ...

    Hibernate的char问题.txt

    为了更精确地控制 `char` 类型的处理方式,可以考虑使用 Hibernate 提供的自定义类型,比如 `CharacterType` 或者自定义实现 `org.hibernate.usertype.UserType` 接口来创建自定义的类型转换器。 ##### 3. 参数绑定...

    马士兵java框架hibernate学习笔记

    - **Hibernate类型**:概述了Hibernate提供的各种内置数据类型及其用途。 以上是马士兵Java框架Hibernate学习笔记的主要知识点概览,涵盖了从基础配置到高级特性的一系列内容。对于初学者来说,这是一个很好的起点...

    Hibernate使用——自定义数据类型

    本篇文章将深入探讨如何在Hibernate中实现自定义数据类型。 首先,我们需要理解Hibernate是如何处理数据类型的。默认情况下,Hibernate使用Java的标准数据类型来映射数据库中的列。例如,Integer对应INT,String...

Global site tag (gtag.js) - Google Analytics