首页 > 其他分享 >hibernate中clob处理

hibernate中clob处理

时间:2023-08-27 12:05:31浏览次数:24  
标签:jdbc clob 处理 VARCHAR2 hibernate oracle true


用hibernate封装oracle的clob类型操作起来很不方便,但是新的oracle10g的jdbc驱动,对此有很多改进。

环境 :wodows2000、oracle9.2、oracle10gJDBC驱动(必须)、hibernate3.1.2

 

 

建表脚本:

/*==============================================================*/
/* Table: StoreFile                                             */
/*==============================================================*/
create table StoreFile  (
   uuid                 VARCHAR2(128)                   not null,
   name                 VARCHAR2(200),
   text                 CLOB,
   constraint PK_STOREFILE primary key (uuid)
);



本文来自CSDN博客,转载请标明出处:

 

hibernate.cfg.xml:(注意多了个SetBigStringTryClob设置,其它没有什么特殊的了)


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.cglib.use_reflection_optimizer">true</property>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.password">java</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@10.128.4.69:1521:kf</property>
        <property name="hibernate.connection.username">java</property>
        <property name="hibernate.connection.SetBigStringTryClob">true</property>
        <property name="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
        <mapping resource="com/study/database/hb/map/File.hbm.xml"/>
    </session-factory>
</hibernate-configuration>


 

//比以前特殊的地方是hibernate.cfg.xml多了个SetBigStringTryClob设置。

//把clob映射成string类型,这样在多过4000个字符时也不会出错了。操作方法和普通的string类型一样。

 


标签:jdbc,clob,处理,VARCHAR2,hibernate,oracle,true
From: https://blog.51cto.com/u_16237557/7252123

相关文章

  • hibernate——一对一映射(1)
    一对一映射本来以为挺简单的,但是一接触发现还是有些琢磨头的,但是理解之后,才会发现原来是挺简单的。一对一映射关系,也有一个主表和从表的概念,例如人和身份证就是一对一的关系,如果将IdCard的主键设为Person的主键,那么Person为主表,而IdCard为从表,这样的映射关系决定了从表不能单独存在......
  • hibernate——继承关系以及三个subclass标签的区别
    Java类中有继承关系,相应的在hibernate中,也有继承关系,子类反应到数据库中,就有多种实现形式了,子类和父类可以映射到同一张表中,子类也可以单独映射成一张表,但是用不同的标签实现,子类表和父类表的关系也不同。在映射文件中,有三个标签可以实现继承关系,分别是:subclass、joined-subclass、......
  • hibernate——多对一和一对多映射浅析
    首先应该清楚多对一和一对多只是站在不同的角度看待问题,其本质是一样的。在思考这个问题的时候,不要把这两个概念混在一起,这样不容易理解,而要分开,站在不同的角度去解决同一个问题。就拿员工和部门的例子来说,我们站在不同的角度,可能会遇到如下的几种情况:站在员工的角度看,是多对一的关......
  • hibernate——简单的增删改查
    增删改比较简单,查稍微复杂一点。查询有两种方式,一种是通过hql语句和Query接口来实现,一种是条件查询,通过Ctiteria接口来实现,下面举例说明:UserDao接口:packagecom.suo.hibernate.dao;importjava.util.List;importcom.suo.domain.User;publicinterfaceUserDao{ publicv......
  • hibernate——Session接口中定义的saveOrUpdate()方法浅析
    Session接口中定义的saveOrUpdate方法,集合了save和update方法,根据对象的状态来选择是进行保存还是更新,那它是怎么判断当前对象的状态的呢?API中对这个方法是这样说的,它是根据一个unsaved-value来决定的。这个值是在映射文件中的<id>标签中的一个属性。<id>标签表示的是表的主键,若主......
  • hibernate——初步认识
    开始学习hibernate了,跟着网上的教学视频边看边学。现在有些迷茫,不知道学这些东西,以后能不能用得上,也不知道未来会发展成什么样子,也不知道我的基础算是打好了没有,总觉得学这些框架,有点浮沙筑高台的感觉,心里很不踏实。知道的都是些表面的东西,框架底层是什么样的,看看那些源代码,想看懂......
  • hibernate——两种查询方式
    一种是hql语句查询,用Query接口去实现;一种是条件查询,用Criteria接口去实现。这两种方式作用差不多,只是后者更符合面向对象一些。用hql语句查询,如下例:publicstaticvoidquery(Stringname){ Sessionsession=null; try{ session=HibernateUtil.getSession(); //St......
  • hibernate——和数据库关联的对象的三种状态
    和数据库关联的对象有三种状态:瞬时,持久,脱管。瞬时:在数据库中还没有与该对象关联的记录,仅仅是一个普通的对象而已,超过作用域,就会被回收。一般都是new出来的对象,并且还没有与session建立联系。持久:与session建立了联系,并且在数据库中已经有了和该对象关联的记......
  • Struts2输入校验以及错误信息处理(2)——用Struts2定义好的校验框架进行校验
    Struts2的输入校验有两种方式:一种是用Action中定义的validate()方法进行校验,一种是用Struts2定义好的校验框架进行校验。前者里面的逻辑判断要自己写,而后者只需要传递相应的参数即可。不管是哪种方式,程序执行的流程都是一样的,执行流程如下:1、对表单传递过来的数据,先进行类型转换......
  • Struts2输入校验以及错误信息处理(1)——用Action中定义的validate()方法进行校验
    Struts2的输入校验有两种方式:一种是用Action中定义的validate()方法进行校验,一种是用Struts2定义好的校验框架进行校验。前者里面的逻辑判断要自己写,而后者只需要传递相应的参数即可。不管是哪种方式,程序执行的流程都是一样的,执行流程如下:1、对表单传递过来的数据,先进行类型转换2、......