Hibernate 映射xml中的属性类型
来源:互联网 发布:淘宝网男士羽绒服2016 编辑:程序博客网 时间:2024/05/19 07:25
Hibernate的内置映射类型
1 JAVA基本类型(包括它们的包装类)和Hibernate映射类型
Hibernate
Java类型
标准SQL类型
大小和取值范围
integer/int
int/java.lang.Integer
integer
4字节,-2^31~2^31-1
long
long/java.lang.Long
bigint
8字节, -2^63~2^63-1
short
short/java.lang.Short
smallint
2字节, -2^15~2^15-1
byte
byte/java.lang.Byte
tinyint
1字节, -128~127
flat
float/java.lang.Float
float
4字节, 单精度浮点数
double
double/java.lang.Double
double
8字节, 双精度浮点数
big_decimal
java.math.BigDecimal
numeric
用法:numeric(8,2)
character
char/…Character/…String
char(1)
定长字符
string
java.lang.String
varchar
变长字符串
boolean
boolean/java.lang.Boolean
bit
布尔类型
yes_no
boolean/java.lang.Boolean
char(1)(‘Y’/’N’)
布尔类型
true_false
boolean/java.lang.Boolean
char(1)(‘T’/’F’)
布尔类型
1. <property name="author" type="java.lang.String">
2. <column name="author" length="20" not-null="true" />
3. </property>
2 JAVA时间和日期类型的Hibernate映射类型
映射类型
java类型
标准SQL类型
描述
date
java.util.Date/java.sql.Date
date
日期,形式:yyyy-mm-dd
time
java.util.Date/java.sql.Time
time
时间,形式:hh:mm:ss
timestamp
…Date/java.sql.Timestamp
timestamp
形式:yyyymmddhhmmss
calendar
java.util.Calendar
timestamp
时间和日期,形式同上
calendar_date
java.util.Calendar
date
日期,形式:yyyy-mm-dd
在标准SQL中,DATE表示日期(2005-01-09),TIME表示时间(11:46:54),TIMESTAMP表示时间戳,包含日期和时间信息(20050109114654),如果没有显式插入,由系统自动添加当前系统时间
3 Java大对象类型的Hibernate映射类型
映射类型
Java类型
标准SQL类型
描述
binary
byte[]
varbinary/blob
存放二进制数
text
java.lang.String
clob
字符串大对象
serializable
实现java.io.Serializable接口的类
varbinary/blob
clob
java.sql.Clob
clob
字符串大对象
bolb
java.sql.Blob
blob
二进制大对象
MySQL不支持标准SQL的CLOB类型。
通过Hibernate来保存java.sql.Clob或java.sql.Blob实例时,发须包含两个步骤:
(1) 在一个数据库事务中先保存一个空的Blob或Clob实例
(2) 锁定记录,更新上一步保存的Bolb或Clob实例,把二进制数或长文本写进去,如:
[java] view plaincopy
1. Customer customer=new Customer();
2. customer.setDescription(Hibernate.createClob(“”));//保存一个空的Clob实例
3. session.save(customer);
4. session.flush();
5. session.refresh(customer,LockMode.UPGRADE);//锁定记录
6. oracle.sql.CLOB clob=(oracle.sql.CLOB)customer.getDescription();
7. java.io.Writer pw=clob.getCharacterOutputStream();
8. pw.write(longText);//lognText变量表示长度超过255的字符串
9. pw.close();
10. tx.commit();
11. session.close();
以上不用java.sql.Blob和java.sql.Clob处理JAVA大对有以下两个原因:
(1) Blob和Clob实例只有在一个数据库事务中才有效
(2) 有些数据库的JDBC驱动程序不支持java.sql.Blob或java.sq.Clob。如果在Java应用中处理图片或长文件的二进制数用byte[]比java.sql.Blob方便;如果处理长度超过255的字符串java.lang.String比java.sql.Clob更方法
JDK自带的个别JAVA类的Hibernate映射类型
映射类型
Java类型
标准SQL类型
class
java.lang.Class
VARCHAR
locale(现场)
java.util.Locale
VARCHAR
timezone(地区)
java.util.TimeZone
VARCHAR
currency(流通)
java.utilCurrency
VARCHAR
- Hibernate 映射xml中的属性类型
- Hibernate 映射xml中的属性类型
- Hibernate映射普通属性、Hibernate中的各种类型
- hibernate 4 映射组件属性 自定义类型
- Hibernate 映射枚举(Enum) 类型的属性
- Hibernate映射集合属性(基本类型)
- hibernate 映射文件中的基本属性
- Hibernate 映射 PostgresSQL中的数组类型
- hibernate.reveng.xml中修改hibernate映射类型timstamp
- 再讲*.hbm.xml中的类型映射
- hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型
- hibernate映射文件 xx.hbm.xml配置映射元素详解--Hibernate映射类型
- hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型
- Hibernate的映射文件(hbm.xml)属性说明
- Hibernate的映射文件(hbm.xml)属性说明
- Hibernate的映射文件(hbm.xml)属性说明
- Hibernate映射组件属性xml形式之方式一
- Hibernate映射组件属性xml形式之方式二
- 与LSGO一起学“第1章 初识C++(1.3 C++与C有什么不同)”
- WebService的SOAP修改版本变为1.2版本的协议
- Android开发之Socket编程以及注意事项
- 伪静态规则写法RewriteRule-htaccess详细语法使用
- Java程序员的几道数据库面试题
- Hibernate 映射xml中的属性类型
- 记录下过*P的内核调试(蓝屏 无法显示进程)的问题
- arm32下根据虚函数识别全局对象
- 219. Contains Duplicate II
- 与LSGO一起学“第1章 初识C++(1.4学习C++之前需要先学C吗?)”
- android api 测试demo地址
- Linux命令查询网址
- 用pulse generator产生脉冲信号
- /proc/[pid]/下的maps、status、stat、statm