`

hibernate使用之:处理clob类型

 
阅读更多
参见原文:http://wangrui.iteye.com/blog/178924。
我的处理方法如下:
一、Model中的数据成员类型为String,映射的数据库字段类型为org.springframework.orm.hibernate.support.ClobStringType

/**
* 电影信息Model
*/
@Entity
@Table(name = "BK_CTT_MOVIE")
@SuppressWarnings("serial")
public class MovieModel extends BaseModel implements Serializable {
    @Id
    private long id;
    @Column(name = "STARS")
    @Type(type="org.springframework.orm.hibernate3.support.ClobStringType")
    private String stars;

    ....get/set方法
}

二、如果使用spring的这个clob类型就需要在applicationContext.xml中的sessionFactory里修改如下配置

  <bean id="oracleLobHandler"   
     class="org.springframework.jdbc.support.lob.OracleLobHandler"   
      lazy-init="true">    
     <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" /> 
  </bean>
 
  <bean id="nativeJdbcExtractor"   
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" 
      lazy-init="true" />

  <!--  ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc)  -->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
    <property name="hibernateProperties">
      <value>
                hibernate.dialect=${hibernate.dialect}
                hibernate.query.substitutions=true 'Y', false 'N'
                hibernate.show_sql=true
                hibernate.cache.use_second_level_cache=true
                hibernate.cache.use_query_cache=true
                hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
                hibernate.jdbc.batch_size=50
                hibernate.jdbc.use_streams_for_binary=true
            </value>
            <!--  Turn batching off for better error messages under PostgreSQL  -->
            <!--  hibernate.jdbc.batch_size=0  -->
    </property>
    <property name="lobHandler" ref="oracleLobHandler" />
  </bean>

三、第三步没有修改为使用oci10,依然使用jdbc:oracle:thin连接方式。使用noticeManager.save(notice); 
即可以正常保存的。
分享到:
评论

相关推荐

    hibernate动态映射表处理oracle的clob类型

    在Hibernate的映射文件(.hbm.xml)或使用注解时,可以声明一个属性为CLOB类型。例如,使用注解的方式: ```java @Lob @Column(name = "LONG_TEXT") private String longText; ``` 3. **动态映射**:动态映射...

    关于Clob类型在Hibernate中 的应用小结

    在Java世界中,尤其是在持久化框架Hibernate中,处理Clob类型的数据需要特别的方法和配置。 在Hibernate中,Clob类型的字段通常有两种处理方式: 1. **传统JDBC方式**: 在这种模式下,开发者需要直接操作Clob...

    Hibernate存储Clob字段的方式总结

    Hibernate存储Clob字段的方式总结涉及了在Java开发中...在实际开发中,可以根据需求选择使用String直接映射Clob的方式或者使用Clob类型处理方式,并注意Hibernate session的创建和管理方法,以保证代码的简洁性与效率。

    spring+hibernate 解决大字段(clob)

    ### Spring与Hibernate处理大字段(CLOB/BLOB) 在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large ...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    本篇将详细介绍在Hibernate中如何处理Clob和Blob字段,以及使用特定Oracle JDBC驱动程序的优势。 首先,Hibernate通过`org.hibernate.type`包中的`ClobType`和`BlobType`来映射Clob和Blob。在实体类中,你需要定义...

    关于Oracle的 Clob数据类型在Hibernate中的应用小结

    3.3 直接使用Clob类型: 对于大数据量的Clob字段,推荐直接使用Clob类型进行操作。在实体类中定义Clob类型的属性,并在Hibernate映射文件中相应配置。这样可以避免一次性加载整个Clob内容到内存,从而降低内存消耗。...

    关于Clob类型在Hibernate中 的应用小结-- 一篇使用心得.zip

    本篇文章将探讨在Hibernate中如何使用Clob类型来处理大文本数据,主要涉及Clob类型的概念、使用场景、在Hibernate中的配置以及一些注意事项。 Clob(Character Large Object)是SQL标准定义的一种数据类型,用于...

    java中(注解符)处理Clob(blob)类型

    在 Java 中,处理 Clob 类型需要使用 @Lob 注解来指定该字段为大规模字符数据类型。@Lob 注解可以与 @Basic 注解结合使用,以确保正确地读取和写入 Clob 类型的数据。例如: ``` @Column(name="SUBSTANCE", ...

    hibernate保存blob,clob对象

    `description`字段是文档的长文本描述,用CLOB类型表示。 接下来,我们讨论如何在Hibernate中保存这些对象。通常,你需要先将BLOB或CLOB的数据转换为适合数据库存储的形式。对于BLOB,这可能是字节数组;对于CLOB,...

    hibernate存取oracle的clob

    其中,处理 Oracle 数据库中的 CLOB 类型数据是一项重要的技能。CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在 Oracle 数据库中广泛使用。下面我们将详细介绍如何使用 Hibernate 来存取 ...

    Hibernate操作Oarcle中Clob、Blob字段小结

    - 插入数据:在保存实体时,Hibernate会自动处理Clob和Blob对象的序列化。可以通过`getClob()`和`setClob()`方法设置和获取Clob值,对于Blob,使用`getBlob()`和`setBlob()`。 - 更新数据:同样,更新实体时,...

    Hibernate对BLOB CLOB操作

    总结来说,Hibernate通过配置文件和实体类实现了对BLOB和CLOB类型的支持,允许开发者在Java代码中方便地操作大数据。通过SessionFactory和Session接口,我们可以进行数据的增删改查操作,同时注意数据库的性能优化,...

    spring+hibernate操作oracle的clob字段

    其中,`entity`对象包含了一个CLOB类型的属性,`assessRegDao`是一个接口,它的`update`方法由Hibernate实现,能够正确地处理CLOB字段的更新。 6. **注意事项** - 确保你的Oracle JDBC驱动版本与所使用的Oracle...

    关于Clob类型在Hibernate中 的应用小结.rar

    通常,要解决超过4000字节的数据,一种做法是将数据写入文件,xml或plain file都可以,数据...另一个做法是使用clob, blob等字段类型,主要有:采用传统的jbdc方式、把clob以string方式处理、直接使用clob类型三种方案

    hibernate使用中与各种数据库字段类型对应类型训练

    以下是一些常见的数据库字段类型及其对应的Hibernate Java类型: 1. **整型**:在数据库中,整型通常有TINYINT、SMALLINT、INTEGER、BIGINT等。在Hibernate中,它们可以对应为`java.lang.Byte`、`java.lang.Short`...

    Hibernate对Blob,Clob的操作

    总之,Hibernate通过提供对Blob和Clob的直接支持,使得在Java Web应用中处理大数据类型变得相对简单。正确理解和使用这些特性,可以有效地管理数据库中的大对象数据,提高应用的灵活性和可维护性。

    解析使用jdbc,hibernate处理clob/blob字段的详解

    5. **使用Hibernate处理`CLOB`和`BLOB`** - Hibernate提供了更高级的抽象,使得处理大对象更加方便。在配置文件中,可以将`CLOB`映射为`clob`,`BLOB`映射为`binary`。 - 例如,在Hibernate的实体类中,可以这样...

Global site tag (gtag.js) - Google Analytics