hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型
在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制数据类型,因为很多种类型映射都有重复的

hibernate映射类型 
  在对象/关系映射文件中,Hibernate采用映射类型作为Java类型和SQL类型的桥梁。Hibernate映射类型分为2种:内置映射类型和自定义映射类型。
  1、内置映射类型
  Hibernate对所有的Java原生类型、常用的Java类型如String、Date等都定义了内置的映射类型。表2列出了Hibernate映射类型、对应的Java类型以及对应的标准SQL类型。
  表2 Hibernate内置映射类型
| 
 Hibernate映射类型  | 
 Java类型  | 
 标准SQL类型  | 
 大小  | 
| 
 integer/int  | 
 java.lang.Integer/int  | 
 INTEGER  | 
 4字节  | 
| 
 long  | 
 java.lang.Long/long  | 
 BIGINT  | 
 8字节  | 
| 
 short  | 
 java.lang.Short/short  | 
 SMALLINT  | 
 2字节  | 
| 
 byte  | 
 java.lang.Byte/byte  | 
 TINYINT  | 
 1字节  | 
| 
 float  | 
 java.lang.Float/float  | 
 FLOAT  | 
 4字节  | 
| 
 double  | 
 java.lang.Double/double  | 
 DOUBLE  | 
 8字节  | 
| 
 big_decimal  | 
 java.math.BigDecimal  | 
 NUMERIC  | 
|
| 
 character  | 
 java.lang.Character/java.lang.String/char  | 
 CHAR(1)  | 
 定长字符  | 
| 
 string  | 
 java.lang.String  | 
 VARCHAR  | 
 变长字符  | 
| 
 boolean/ yes_no/true_false  | 
 java.lang.Boolean/Boolean  | 
 BIT  | 
 布尔类型  | 
| 
 date  | 
 java.util.Date/java.sql.Date  | 
 DATE  | 
 日期  | 
| 
 timestamp  | 
 java.util.Date/java.util.Timestamp  | 
 TIMESTAMP  | 
 日期  | 
| 
 calendar  | 
 java.util.Calendar  | 
 TIMESTAMP  | 
 日期  | 
| 
 calendar_date  | 
 java.util.Calendar  | 
 DATE  | 
 日期  | 
| 
 binary  | 
 byte[]  | 
 BLOB  | 
 BLOB  | 
| 
 text  | 
 java.lang.String  | 
 TEXT  | 
 CLOB  | 
| 
 serializable  | 
 实现java.io.Serializablej接口的任意Java类  | 
 BLOB  | 
 BLOB  | 
| 
 clob  | 
 java.sql.Clob  | 
 CLOB  | 
 CLOB  | 
| 
 blob  | 
 java.sql.Blob  | 
 BLOB  | 
 BLOB  | 
| 
 class  | 
 java.lang.Class  | 
 VARCHAR  | 
 定长字符  | 
| 
 locale  | 
 java.util.Locale  | 
 VARCHAR  | 
 定长字符  | 
| 
 timezone  | 
 java.util.TimeZone  | 
 VARCHAR  | 
 定长字符  | 
| 
 currency  | 
 java.util.Currency  | 
 VARCHAR  | 
 定长字符  | 
  2、自定义映射类型
   Hibernate提供了自定义映射类型接口,允许用户以编程的方式创建自定义的映射类型。用户自定义的映射类型需要实现net.sf.hibernate.UserType或net.sf.hibernate.CompositeUserType接口。具体的创建自定义映射类型的方法请参考hibernate官方文档或相关资料,这里不再详细介绍。
===========================================================================
SOURCE:
hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化的更多相关文章
- java类的成员变量和局部变量的区别
		
转自:https://jingyan.baidu.com/article/03b2f78c1ba2d05ea237ae9b.html 在类中位置不同:成员变量:在类中方法外.局部变量:在方法定义中或者 ...
 - python中的类的成员变量以及property函数
		
1 python类的各种变量 1.1 全局变量 在类外定义的变量. 1.2 类变量 定义在类里面,所有的函数外面的变量.这个变量只有一份,是所有的对象共有的.在类外用“类.”来引用. 1.3 实例变量 ...
 - java类定义、变量类型、构造函数
		
1.java类class的定义 所有java程序都以类class为组织单元,java类由属性和方法组成,下面看例子: public class Phone{ //属性 String company ...
 - java中的类、成员变量、方法的修饰符。
		
http://blog.sina.com.cn/s/blog_7ffb8dd501011alw.html http://www.cnblogs.com/lixiaolun/p/4311727.html
 - java局部变量,成员变量在堆和栈中的存储
		
对于局部变量,如果是基本类型,会把值直接存储在栈:如果是引用类型,比如String s = new String("william");会把其对象存储在堆,而把这个对象的引用(指针 ...
 - 继承的基本概念:  (1)Java不支持多继承,也就是说子类至多只能有一个父类。  (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。  分析以上程
		
继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的 ...
 - java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
		
/* 样例1: class Parent{ int num = 3; } class Child extends Parent{ int num = 4; } */ /* 样例2: class Par ...
 - Java反射机制可以动态修改实例中final修饰的成员变量吗?
		
问题:Java反射机制可以动态修改实例中final修饰的成员变量吗? 回答是分两种情况的. 1. 当final修饰的成员变量在定义的时候就初始化了值,那么java反射机制就已经不能动态修改它的值了. ...
 - (转载)php的类中可以不定义成员变量,直接在构造方法中使用并赋值吗?
		
(转载)http://s.yanghao.org/program/viewdetail.php?i=184313 php的类中可以不定义成员变量,直接在构造方法中使用并赋值吗? class block ...
 
随机推荐
- ASP.NET MVC 3 网站优化总结(一) 使用 Gzip 压缩
			
网站开启 Gzip 压缩的好处相信很多人都已经清楚,这样做可以提高网站的性能.那么为什么很多网站没有开启 Gzip 压缩功能呢?原因有4点:防病毒软件.浏览器 bug.网站代理和服务器未配置. 使用 ...
 - web.xml 配置中classpath: 与classpath*:的区别
			
首先 classpath是指 WEB-INF文件夹下的classes目录 解释classes含义: 1.存放各种资源配置文件 eg.init.properties log4j.properties s ...
 - [Erlang 0113] Elixir 编译流程梳理
			
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从 ...
 - 实时观察Apache访问情况的工具Apachetop
			
Linux服务器的负载.进程等信息可以通过top命令查看.而Apache的运转如何实时的观察呢?“tail -f”log文件?这是个好方法,但是太累了! 所以,感谢Chris Elsworth为我们提 ...
 - JavaScript数组
			
声明: var mycars=new Array(3) 扩号中的3也可以不写.不写即不限定数组的容量,可以无限制的向数组内添加值. 赋值: mycars[0]="Saab" 和Ja ...
 - Hadoop技巧(03):HostName命名带来的问题
			
阅读目录 序 HostName 问题 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink ...
 - MongoDB学习笔记系列
			
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
 - Ubuntu Server 设置PPTP客户端连接
			
安装PPTP客户端 apt-get install pptp-linux 设置连接账号信息 sudo vim /etc/ppp/chap-secrets 其中$login_name是登录名:$pass ...
 - python爬虫学习(10) —— 专利检索DEMO
			
这是一个稍微复杂的demo,它的功能如下: 输入专利号,下载对应的专利文档 输入关键词,下载所有相关的专利文档 0. 模块准备 首先是requests,这个就不说了,爬虫利器 其次是安装tessera ...
 - UICollectionLayout布局 —— UIKit之学习UICollectionView记录二《流水布局》
			
重点知识 一. 加载collectionView注意事项 1.创建collectionView,有两种方式 :一种是xib和一种是纯代码:设置代理和数据源,注册cell,配置流水布局的属性,如上.下. ...