Hibernate type 与java 和 数据库类型对应
Hibernate type 属性
内置的 basic mapping types 可以大致地分类为:
integer, long, short, float, double, character, byte, boolean, yes_no, true_false这些类型都对应 Java 的原始类型或者其封装类,来符合(特定厂商的)SQL 字段类型。boolean, yes_no 和 true_false 都是 Java 中 boolean 或者 java.lang.Boolean 的另外说法。
string
从 java.lang.String 到 VARCHAR(或者 Oracle 的 VARCHAR2)的映射。
date, time, timestamp
从 java.util.Date 和其子类到 SQL 类型 DATE,TIME 和 TIMESTAMP(或等价类型)的映射。
calendar, calendar_date
从 java.util.Calendar 到 SQL 类型 TIMESTAMP 和 DATE(或等价类型)的映射。
big_decimal, big_integer
从 java.math.BigDecimal 和 java.math.BigInteger 到 NUMERIC(或者 Oracle 的 NUMBER类型)的映射。
locale, timezone, currency
从 java.util.Locale,java.util.TimeZone 和 java.util.Currency 到 VARCHAR(或者 Oracle 的 VARCHAR2 类型)的映射。Locale 和 Currency 的实例被映射为它们的 ISO 代码。TimeZone 的实例被影射为它的 ID。
class
从 java.lang.Class 到 VARCHAR(或者 Oracle 的 VARCHAR2 类型)的映射。Class 被映射为它的全限定名。
binary
把字节数组(byte arrays)映射为对应的 SQL 二进制类型。
text
Maps long Java strings to a SQL LONGVARCHAR or TEXT type.
image
Maps long byte arrays to a SQL LONGVARBINARY.
serializable
把可序列化的 Java 类型映射到对应的 SQL 二进制类型。你也可以为一个并非默认为基本类型的可序列化 Java 类或者接口指定 Hibernate 类型 serializable。
clob, blob
JDBC 类 java.sql.Clob 和 java.sql.Blob的映射。某些程序可能不适合使用这个类型,因为 blob 和 clob 对象可能在一个事务之外是无法重用的。(而且, 驱动程序对这种类型的支持充满着补丁和前后矛盾。)
materialized_clob
Maps long Java strings to a SQL CLOB type. When read, the CLOB value is immediately materialized into a Java string. Some drivers require the CLOB value to be read within a transaction. Once materialized, the Java string is available outside of the transaction.
materialized_blob
Maps long Java byte arrays to a SQL BLOB type. When read, the BLOB value is immediately materialized into a byte array. Some drivers require the BLOB value to be read within a transaction. Once materialized, the byte array is available outside of the transaction.
imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary
一般来说,映射类型被假定为是可变的 Java 类型,只有对不可变 Java 类型,Hibernate 会采取特定的优化措施,应用程序会把这些对象作为不可变对象处理。比如,你不应该对作为 imm_timestamp 映射的 Date 执行 Date.setTime()。要改变属性的值,并且保存这一改变,应用程序必须对这一属性重新设置一个新的(不一样的)对象。
实体及其集合的唯一标识可以是除了 binary、 blob 和 clob 之外的任何基础类型。(联合标识也是允许的,后面会说到。)
在 org.hibernate.Hibernate 中,定义了基础类型对应的 Type 常量。比如,Hibernate.STRING 代表 string 类型。
转载于:https://www.cnblogs.com/wangzijing/archive/2013/01/20/2868812.html
Hibernate type 与java 和 数据库类型对应相关推荐
- hibernate、java、数据库对应类型
引自 https://my.oschina.net/heau/blog/498874 java.数据库对应类型 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 ...
- Java大对象类型的Hibernate映射
在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255 ),字节数组 byte[] 可以用于存放图片户或文件二进制数据.此外,在 JDBC API 中还提供了 ja ...
- java 映射类_将数据库类型映射到具体的Java类
解 答案比使用getMetaData方法更复杂,因为getMetaData方法返回的整数类型和完整的类名没有直接映射.此解决方案需要两段代码: >实现一个方法来获取java.sql.Types常 ...
- oracle 传递table,将对象类型表从java传递到oracle 8i(Pass table of object type from java to oracle 8i)...
将对象类型表从java传递到oracle 8i(Pass table of object type from java to oracle 8i) 我需要将一个对象列表(如值表)从java传递给ora ...
- Java.util.Date类型的转化成为数据库中的Date类型。
最完整的一个网页:http://www.zxbc.cn/html/20080905/65272.html 作者:天涯 来源:中国自学编程网 发布日期:1220576012 在JDK 1.1后,java ...
- java中的类型擦除type erasure
文章目录 简介 举个例子 原因 解决办法 总结 java中的类型擦除type erasure 简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型 ...
- org.hibernate.MappingException: Could not determine type for: java.util.List, at table: user, for...
异常详情: Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, at ta ...
- 数据库中clob类型对应java,java 操作数据库clob类型大字段
java 操作数据库clob类型大字段 java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringRea ...
- Java获取数据库表名、字段名、字段类型及注释等信息
以前有小伙伴在公众号留言问过如何通过java获取数据库的所有表.及表里字段的信息,只是私信回复过. 在最近的项目中架构部提出了一个数据源的配置需求,就是需要配置公司所有系统的数据库.表等信息,便于大数 ...
最新文章
- 网络传输数据格式的选择
- SAP PM 初级系列7 - 定义工厂区域
- leetcode_add_two_numbers
- java定时调度main方法_java相关:Spring中实现定时调度的几种方法
- NetBeans中文乱码解决办法
- mysql检索整数_MyBatis从MySql DB中检索整数为Enum
- 内存中的堆和栈(heap stack)
- CodeVs天梯钻石Diamond题解
- 渗透测试——XP工具练习
- coin3d核心类整理
- 调试和测试 Swing 代码
- 20021年还需要学C语言吗?C语言成为专家的路径、方法、书籍推荐
- 团队管理(一)-会议纪要的高效记录和执行
- 手机端访问本地编写的html页面【亲测有效】
- 高性能JSON框架之FastJson的简单使用
- docker常见面试题
- 在Redhat/Centos上安装和配置TortoiseHg和kdiff3
- 只需5分钟教会你使用React中的JSX
- 《正在爆发的互联网革命》北京西单图书大厦签售活动圆满结束
- mysql查询上班打卡sql怎么写_sql查询一段时期里每一天所有员工的打卡记录
热门文章
- linux 如何在命令行下改系统时间
- WinRAR 命令行简体中文说明
- MODBUS通讯协议详解(基于485)
- java生成pdf加密_java使用iText 生成PDF全攻略(表格,加密)
- python显示目录中的文件_Python中的文件和目录操作实现
- linux 查询 lib信息,怎么查看linux是否使用 libarchive
- rust电器元件需要什么材料_云南自考大专报考需要什么材料?
- Linux文件操作实用笔记
- 如何写出高性能SQL语句
- Http协议(3)—HTTP实体和编码