cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
CLOB是一种数据库中的数据类型。
Character Large Object
SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。
在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server
 
@Lob 注解属性将被持久化为 Blog 或 Clob 类型。具体的java.sql.Clob, Character[], char[] 和 java.lang.String 将被持久化为 Clob 类型. java.sql.Blob, Byte[], byte[] 和 serializable type 将被持久化为 Blob 类型。
@Lob 持久化为Blob或者Clob类型,根据get方法的不同,自动进行Clob和Blob的转换

@Lob
public String getFullText() {
return fullText; // clob type
}

@Lob
public byte[] getFullCode() {
return fullCode; // blog type
}

@Lob 通常与@Basic同时使用,提高访问速度。
@Lob
@Basic(fetch = FetchType.LAZY)
@Column(name="DtaContent", columnDefinition="TEXT", nullable=true)
public String getDtaContent() {
return dtaContent;
}

@Basic 实体Bean中所有的非Static 非transient的属性都可以被持久化,没有定义注解属性的等价于在其上添加了@Basic注解
通过@Basic注解可以声明属性的获取策略(lazy与否),默认的是即时获取(early fetch),这里又讨论到了
延迟关联获取和延迟属性获取,通常不需要对简单属性设置延迟获取,如需要定义@Basic(fetch=FetchType.LAZY)

2CLOB和BLOB的区别

CLOB使用CHAR来保存数据。  如:保存XML文档。
BLOB就是使用二进制保存数据。  如:保存位图。
 
mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列。
如果你觉得text长度不够,可以选择
MEDIUMTEXT最大长度为16,777,215。
LONGTEXT最大长度为4,294,967,295
Text主要是用来存放非二进制的文本,如论坛帖子,题目,或者百度知道的问题和回答之类
posted on 2014-04-10 10:36  cheng_you_know  阅读(399)  评论(0编辑  收藏  举报