映射Blob和Clob类型@Lob
来源:互联网 发布:windows许可证激活工具 编辑:程序博客网 时间:2024/05/10 15:55
通常,可以在数据库中保存诸如图片,长文本类型的数据。这种类型的数据一般是保存成Blob和Clob类型。
这两种类型的数据可以通过使用@Lob属性来标注。例如CustomerEO实体增加了一个属性portrait,用于保存客户的头像图片,增加了一个属性meno,用于保存一些长文本的备注信息。代码如下所示。
@Entity
@Table(name = "customer")
public class CustomerEO implements java.io.Serializable {
……
private byte[] portrait;
@Lob
@Basic(fetch=FetchType.LAZY)
public byte[] getPortrait() {
return portrait;
}
public void setPortrait(byte[] portrait) {
this.portrait = portrait;
}
private String meno;
@Lob
@Basic(fetch=FetchType.LAZY)
public String getMeno() {
return meno;
}
public void setMeno(String meno) {
this.meno = meno;
}
}
其中加粗的部分为对应的字节流属性所对应字段的定义。这样标注实体后,相对应创建表的SQL脚本为以下所示。
CREATE TABLE customer (
id int(20) NOT NULL,
name varchar(255) default NULL,
short_name varchar(255) default NULL,
portrait blob,
meno clob,
PRIMARY KEY (id)
)
在使用@Lob注释注意以下几个问题。
l @Lob适用于标注字段类型为Clob和Blob类型。
l Clob(Character Large Ojects)类型是长字符串类型,映射为实体中的类型可为char[]、Character[]、或者String类型。
l Blob(Binary Large Objects)类型是字节类型,映射为实体中的类型可为byte[]、Byte[]、或者实现了Serializable接口的类。
l 因为这两种类型的数据一般占用的内存空间比较大,所以通常使用惰性加载的方式,所以一般都要与@ Basic标记同时使用,设置加载方式为FetchType.LAZY。
@Basic(fetch=FetchType.LAZY)
- 映射Blob和Clob类型@Lob
- hibernate blob和clob注解@Lob
- hibernate blob和clob注解@Lob
- 处理lob(blob, clob)
- JDBC:LOB---BLOB、CLOB
- Hibernate读写Clob和Blob类型字段
- 操作Oracle类型CLOB和BLOB
- 操作Oracle类型CLOB和BLOB
- Hibernate读写Clob和Blob类型字段
- Hibernate读写Clob和Blob类型字段
- Blob和Clob类型的区别
- LONG RAW LOB CLOB BLOB BFILE
- Struts+Spring+Hibernate处理Lob(Blob,Clob)
- Struts+Spring+Hibernate处理Lob(Blob,Clob)
- Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
- LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型
- Blob、Clob字段的映射
- hibernate映射clob blob字段
- poj1703
- mfc 消息映射 处理
- MySQL双机互备配置说明
- linux 与库相关的一些命令
- 一个简单的JQuery弹出层类
- 映射Blob和Clob类型@Lob
- poj1887
- log4j的使用,http://www.javaeye.com/topic/378077
- 重建RAC的一个节点
- Silverlight 4 RC 的安装
- 去除IE浏览器打印时的页眉页脚及设置页边距--简单实用,一次性解决
- Gridview的基本用法
- vc获得网络连接名称
- IIS7.5 配置