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).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...
随机推荐
- 前端小例子 基础js css html练习
前情提要: 学前端也有一阵了,个人感觉前端还是重要的. html 学习教程 https://www.cnblogs.com/baili-luoyun/p/10466040.html css 教程 js ...
- 在vue-cli建的vue项目中使用sass
前面已使用vue-cli新建了一个vue项目,参考 使用命令行创建一个vue项目的全部命令及结果 首先看下新建项目的页面和代码,有部分修改,可忽视,如下图: 然后我们在页面添加sass的代码 ...
- template.js插件和ajax一起使用的例子
template.js 一款 JavaScript 模板引擎,简单,好用.提供一套模板语法,用户可以写一个模板区块,每次根据传入的数据,生成对应数据产生的HTML片段,渲染不同的效果. https:/ ...
- chrome inspect 远程调试H5
chrome://inspect/#devices 一个内置于chrome的远程调试指令,满足远程调试的几个必须条件 1,能够访问https://chrome-devtools-frontend.ap ...
- Sublime Text 乱码解决(Package Control 和 ConvertToUTF8插件安装)
Sublime Text的界面正如她的名字sublime一样,充满极客感觉的高大上,而且拥有强大的功能.但是她默认是不支持GBK编码的. 本来安装一个Package Control插件管理,再安装其他 ...
- 【xsy1162】鬼计之夜 最短路+二进制拆分
套路题(然而我没看题解做不出来) 题目大意:给你一个$n$个点,$m$条有向边的图.图中有$k$个标记点,求距离最近的标记点间距离. 数据范围:$n,m,k≤10^5$. 设$p_i表$示第$i$个标 ...
- 安装nginx和nginx-gridfs和mongodb
1.安装依赖包: [root@mongo_rs1 ~]# yum -y install pcre-devel openssl-devel zlib-devel git gcc gcc-c++ [roo ...
- openerp QWeb
1.web 模块 注意,OpenERP 模块中 web 部分用到的所有文件必须被放置在模块内的 static 文件夹里.这是强制性的,出于安全考虑. 事实上,我们创建的文件夹 CSS,JS 和 XML ...
- 剑指offer三十五之数组中的逆序对
一.题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...
- C、C++基础和编程风格 (转)
原文链接 作者:寒小阳时间:2013年8月.出处:http://blog.csdn.net/han_xiaoyang/article/details/10515417.声明:版权所有,转载请注明出处, ...