hibernate、java、数据库对应类型
引自 https://my.oschina.net/heau/blog/498874
java、数据库对应类型
| 类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型索引(int) | 描述 |
| VARCHAR | L+N | VARCHAR | java.lang.String | ||
| CHAR | N | CHAR | java.lang.String | ||
| BLOB | L+N | BLOB | java.lang.byte[] | -4 | |
| TEXT | VARCHAR | java.lang.String | -1 | ||
| INTEGER | INTEGER UNSIGNED | java.lang.Long | |||
| TINYINT | TINYINT UNSIGNED | java.lang.Integer | -6 | ||
| SMALLINT | SMALLINT UNSIGNED | java.lang.Integer | |||
| MEDIUMINT | MEDIUMINT UNSIGNED | java.lang.Integer | |||
| BIT | BIT | java.lang.Boolean | -7 | ||
| BIGINT | BIGINT UNSIGNED | java.math.BigInteger | -5 | ||
| FLOAT | 4+8 | FLOAT | java.lang.Float | ||
| DOUBLE | DOUBLE | java.lang.Double | |||
| DECIMAL | DECIMAL | java.math.BigDecimal | |||
| BOOLEAN | 同TINYINT | ||||
| ID | PK (INTEGER UNSIGNED) | java.lang.Long | |||
| DATE | DATE | java.sql.Date | |||
| TIME | TIME | java.sql.Time | |||
| DATETIME | DATETIME | java.sql.Timestamp | |||
| TIMESTAMP | TIMESTAMP | java.sql.Timestamp | |||
| YEAR | YEAR | java.sql.Date | |||
下面是hibernate官方文档给出的映射表:
Table 8.1. Basic Type Mappings
| Hibernate type | Database type | JDBC type | Type registry |
| org.hibernate.type.StringType | string | VARCHAR | string, java.lang.String |
| org.hibernate.type.MaterializedClob | string | CLOB | materialized_clob |
| org.hibernate.type.TextType | string | LONGVARCHAR | text |
| org.hibernate.type.CharacterType | char, java.lang.Character | CHAR | char java.lang.Character |
| org.hibernate.type.BooleanType | boolean | BIT | boolean java.lang.Boolean |
| org.hibernate.type.NumericBooleanType | boolean | INTEGER, 0 is false, 1 is true | numeric_boolean |
| org.hibernate.type.YesNoType | boolean | CHAR, 'N'/'n' is false, 'Y'/'y' is true. The uppercase value is written to the database. | yes_no |
| org.hibernate.type.TrueFalseType | boolean | CHAR, 'F'/'f' is false, 'T'/'t' is true. The uppercase value is written to the database. | true_false |
| org.hibernate.type.ByteType | byte, java.lang.Byte | TINYINT | byte java.lang.Byte |
| org.hibernate.type.ShortType | short, java.lang.Short | SMALLINT | short java.lang.Short |
| org.hibernate.type.IntegerTypes | int, java.lang.Integer | INTEGER | int java.lang.Integer |
| org.hibernate.type.LongType | long, java.lang.Long | BIGINT | long java.lang.Long |
| org.hibernate.type.FloatType | float, java.lang.Float | FLOAT | float, java.lang.Float |
| org.hibernate.type.DoubleType | double, java.lang.Double | DOUBLE | double java.lang.Double |
| org.hibernate.type.BigIntegerType | java.math.BigInteger | NUMERIC | big_integer |
| org.hibernate.type.BigDecimalType | java.math.BigDecimal | NUMERIC | big_decimal java.math.bigDecimal |
| org.hibernate.type.TimestampType | java.sql.Timestamp | TIMESTAMP | timestamp java.sql.Timestamp |
| org.hibernate.type.TimeType | java.sql.Time | TIME | time java.sql.Time |
| org.hibernate.type.DateType | java.sql.Date | DATE | date java.sql.Date |
| org.hibernate.type.CalendarType | java.util.Calendar | TIMESTAMP | calendar java.util.Calendar |
| org.hibernate.type.CalendarDateType | java.util.Calendar | DATE | calendar_date |
| org.hibernate.type.CurrencyType | java.util.Currency | VARCHAR | currency java.util.Currency |
| org.hibernate.type.LocaleType | java.util.Locale | VARCHAR | locale java.utility.locale |
| org.hibernate.type.TimeZoneType | java.util.TimeZone | VARCHAR, using the TimeZone ID | timezone java.util.TimeZone |
| org.hibernate.type.UrlType | java.net.URL | VARCHAR | url java.net.URL |
| org.hibernate.type.ClassType | java.lang.Class | VARCHAR, using the class name | class java.lang.Class |
| org.hibernate.type.BlobType | java.sql.Blob | BLOB | blog java.sql.Blob |
| org.hibernate.type.ClobType | java.sql.Clob | CLOB | clob java.sql.Clob |
| org.hibernate.type.BinaryType | primitive byte[] | VARBINARY | binary byte[] |
| org.hibernate.type.MaterializedBlobType | primitive byte[] | BLOB | materized_blob |
| org.hibernate.type.ImageType | primitive byte[] | LONGVARBINARY | image |
| org.hibernate.type.BinaryType | java.lang.Byte[] | VARBINARY | wrapper-binary |
| org.hibernate.type.CharArrayType | char[] | VARCHAR | characters char[] |
| org.hibernate.type.CharacterArrayType | java.lang.Character[] | VARCHAR | wrapper-characters Character[], java.lang.Character[] |
| org.hibernate.type.UUIDBinaryType | java.util.UUID | BINARY | uuid-binary, java.util.UUID |
| org.hibernate.type.UUIDCharType | java.util.UUID | CHAR, can also read VARCHAR | uuid-char |
| org.hibernate.type.PostgresUUIDType | java.util.UUID | PostgreSQL UUID, through Types#OTHER, which complies to the PostgreSQL JDBC driver definition | pg-uuid |
| org.hibernate.type.SerializableType | implementors of java.lang.Serializable | VARBINARY | Unlike the other value types, multiple instances of this type are registered. It is registered once under java.io.Serializable, and registered under the specific java.io.Serializable implementation class names. |
hibernate、java、数据库对应类型的更多相关文章
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- hibernate Java 时间和日期类型的 Hibernate 映射
基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java. ...
- 记录使用Hibernate查询bean中字段和数据库列类型不匹配问题
今天在工程中遇到Hibernate查询的时候,bean中的字段和数据库中的字段不符合(bean中有pageTime字段,但是数据库中没有此列)报错问题. 具体问题环境: 在auto_off表中,off ...
- hibernate Java 时间和日期类型 Hibernate 制图
基础知识: 于 Java 于, 型表示的时间和日期包含: java.util.Date 和 java.util.Calendar. 外, 在 JDBC API 中还提供了 3 个扩展了 java.ut ...
- java.sql.Types,数据库字段类型,java数据类型的对应关系
以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...
- Oracle数据库date类型与Java中Date的联系与转化
以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助.new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当前 ...
- java中存储mysql数据库时间类型
Mysql 与 java 的时间类型 MySql的时间类型有 Java中与之对应的时间类型 date java.sql.Date Datetime ...
- [转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且 ...
- 5 -- Hibernate的基本用法 --2 2 Hibernate的数据库操作
在所有的ORM框架中有一个非常重要的媒介 : PO(持久化对象:Persistent Object).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...
随机推荐
- 怎么在Win7系统清除DNS缓存和刷新DHCP列表
如何清除DNS缓存?开始-运行,如下图所示: 2 在谈出的对话框中输入“cmd”,如下图所示: 3 在出现的DOS命令窗口输入“ipconfig /flushdns”,然后就清除DNS缓存了,在我们遇 ...
- Swift 里字符串(三)small String
 small string, 只有两个 UInt64 的字,这里面存储了所有的信息. 内存布局如下:  第二个 UInt64 存储了标记位和长度信息,以及部分字符串的值 // Get an int ...
- POJ 2346
#include<iostream> #include<stdio.h> using namespace std; ,,,,}; int main() { int num; c ...
- 【转】Unity Animator卡顿研究
Unity Animator卡顿研究 发表于2017-07-26 点赞3 评论3 分享 分享到 2.3k浏览 想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏程序行业精英群 ...
- 优化 JS 条件语句的 5 个技巧
优化 JS 条件语句的 5 个技巧 原创: 前端大全 前端大全 昨天 (给前端大全加星标,提升前端技能) 编译:伯乐在线/Mr.Dcheng http://blog.jobbole.com/11467 ...
- 线程安全单例最佳实践,C#中的Lazy是如何保证线程安全的
在.NET 4.0之后,.NET Framework中提供了一种安全的延迟加载类型LazyLazy能够在多线程环境下,保证GetValue函数只执行一次,从而实现单例模式 在过去,实现单例模式我们通常 ...
- Scrapy框架--cookie的获取/传递/本地保存
环境:Python3.6 + Scrapy1.4 我要实现的东西:1. 完成模拟登陆 2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中 3. ...
- java数据结构之队列
队列概述队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列.– ...
- Android_字符串转换
这个很简单,只是一个输入框,一个按钮,一个TextView用来显示转换后的字符串,按钮有一个事件,使用可视化操作界面下添加的,毕竟很方便嘛!
- C语言理论知识
C语言-----理论部分 一:软件开发概述1.程序语言的发展:机器语言-->汇编语言-->高级语言.2.软件开发的基本步骤与方法:分析问题,建立数学模型-->确定数据结构和算法- ...