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).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...
随机推荐
- 如何修改静态IP地址和动态IP地址
打开控制面板,一般在电脑的菜单栏能找到,win8和win10可以使用快捷键(win键+X键),找不到的朋友可以搜索一下. 进入到网络和共享中心,点击更改适配器设置. 这里显示的是电脑所以的网络 ...
- 【小程序云开发入门】quickStart
开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现 ...
- 安装Nginx并为node.js设置反向代理
最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...
- iOS---GCD的三种常见用法
1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次. 整个程序运行过程中,只会执行一次. - (void)viewDidLoad { [super viewDidLoa ...
- java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification
ListView UI重绘时触发layoutChildren, 此时会校验listView的mItemCount与其Adapter.getCount是否相同,不同报错. ListView.layout ...
- Kafka消息队列
转自:http://blog.csdn.net/yfkiss/article/details/17348693 代码案例 http://blog.csdn.net/ganglia/article/de ...
- docker - 修改镜像/容器文件或者 "Docker root dir" 的在宿主机上的存储位置
背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...
- CountDownTimer倒计时器的使用
以前好多倒计时的需求都需要自己去写,今天发现android 原来自带了倒计时的类CountDownTimer,和适合用于发送短信 ,等待验证码的情况 代码展示了在一个TextView进行60S的倒计时 ...
- CentOS常用命令、快照、克隆大揭秘
不多说,直接上干货! cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是, abc def ghi cat a.txt |grep –v gh ...
- 酷派大神F2使用QPST进行nv备份恢复,解决无信号问题
测试机器: 大神F2联通版 8675_W00 系统COOLUI55 写贴原因: 自己无意间刷错了包,结果手机无信号,进入工程模式怎么设置都没有用.尝试过系统还原(备份过).刷新的ROM.线刷, ...