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 和 数据库类型对应相关推荐

  1. hibernate、java、数据库对应类型

    引自 https://my.oschina.net/heau/blog/498874 java.数据库对应类型 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述     ...

  2. Java大对象类型的Hibernate映射

    在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255 ),字节数组 byte[] 可以用于存放图片户或文件二进制数据.此外,在 JDBC API 中还提供了 ja ...

  3. java 映射类_将数据库类型映射到具体的Java类

    解 答案比使用getMetaData方法更复杂,因为getMetaData方法返回的整数类型和完整的类名没有直接映射.此解决方案需要两段代码: >实现一个方法来获取java.sql.Types常 ...

  4. 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 ...

  5. Java.util.Date类型的转化成为数据库中的Date类型。

    最完整的一个网页:http://www.zxbc.cn/html/20080905/65272.html 作者:天涯 来源:中国自学编程网 发布日期:1220576012 在JDK 1.1后,java ...

  6. java中的类型擦除type erasure

    文章目录 简介 举个例子 原因 解决办法 总结 java中的类型擦除type erasure 简介 泛型是java从JDK 5开始引入的新特性,泛型的引入可以让我们在代码编译的时候就强制检查传入的类型 ...

  7. 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 ...

  8. 数据库中clob类型对应java,java 操作数据库clob类型大字段

    java 操作数据库clob类型大字段 java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringRea ...

  9. Java获取数据库表名、字段名、字段类型及注释等信息

    以前有小伙伴在公众号留言问过如何通过java获取数据库的所有表.及表里字段的信息,只是私信回复过. 在最近的项目中架构部提出了一个数据源的配置需求,就是需要配置公司所有系统的数据库.表等信息,便于大数 ...

最新文章

  1. 网络传输数据格式的选择
  2. SAP PM 初级系列7 - 定义工厂区域
  3. leetcode_add_two_numbers
  4. java定时调度main方法_java相关:Spring中实现定时调度的几种方法
  5. NetBeans中文乱码解决办法
  6. mysql检索整数_MyBatis从MySql DB中检索整数为Enum
  7. 内存中的堆和栈(heap stack)
  8. CodeVs天梯钻石Diamond题解
  9. 渗透测试——XP工具练习
  10. coin3d核心类整理
  11. 调试和测试 Swing 代码
  12. 20021年还需要学C语言吗?C语言成为专家的路径、方法、书籍推荐
  13. 团队管理(一)-会议纪要的高效记录和执行
  14. 手机端访问本地编写的html页面【亲测有效】
  15. 高性能JSON框架之FastJson的简单使用
  16. docker常见面试题
  17. 在Redhat/Centos上安装和配置TortoiseHg和kdiff3
  18. 只需5分钟教会你使用React中的JSX
  19. 《正在爆发的互联网革命》北京西单图书大厦签售活动圆满结束
  20. mysql查询上班打卡sql怎么写_sql查询一段时期里每一天所有员工的打卡记录

热门文章

  1. linux 如何在命令行下改系统时间
  2. WinRAR 命令行简体中文说明
  3. MODBUS通讯协议详解(基于485)
  4. java生成pdf加密_java使用iText 生成PDF全攻略(表格,加密)
  5. python显示目录中的文件_Python中的文件和目录操作实现
  6. linux 查询 lib信息,怎么查看linux是否使用 libarchive
  7. rust电器元件需要什么材料_云南自考大专报考需要什么材料?
  8. Linux文件操作实用笔记
  9. 如何写出高性能SQL语句
  10. Http协议(3)—HTTP实体和编码