Oracle推出了支持以String的方式处理Clob的新驱动程序(仅限10g及其以上版本,不过听说9i也可以使用10g的驱动实现这个功能)。 Java开发中,持久化工具首选Hibernate。看了一些网上的零星例子,试验成功使用String直接映射Clob。不用去转换Clob开流,也不用写Hibernate自定义类型,更不用必须和Spring耦合,使用Spring的专用Hibernate支持。 首先在数据库里建立一个表: SQL代码: create table textclob (tid number(38,0),name varchar2(100),text clob) 然后建立对应的Java类 public class textclob { private int id; private String name; private String text; //set和get方法略... } 然后写Hibernate配置文件和映射文件。Hibernate的配置文件没有什么特别的,Oracle10g数据库需要添加一个专有属性,同时要保证JDBC驱动一定是网上最新的(支持1.4及以上版本且是最新发布的)。 XML代码 <hibernate-configuration><session-factory name="SessionFactory"><property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property><property name="hibernate.connection.password">********</property><property name="hibernate.connection.SetBigStringTryClob">true</property><property name="hibernate.connection.url">jdbc:oracle:thin:@***.***.***.**:1521:orcl</property><property name="hibernate.connection.username">********</property><property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property><property name="hibernate.show_sql">trueproperty> <property name="hibernate.connection.pool_size">10</property><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><property name="hibernate.c3p0.min_size">1</property><property name="hibernate.c3p0.max_size">5</property><property name="hibernate.c3p0.timeout">2500</property><property name="hibernate.c3p0.max_statements">50</property><mapping resource="org/Miao/Domains/Clob.hbm.xml"></mapping></property></session-factory></hibernate-configuration> 映射文件XML代码: <property name="text" type="text" column="itext"></property>
ssh oracle大字段clob问题
最新推荐文章于 2022-03-23 21:49:48 发布