首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 处置text 字段,像处理字符串一样

2012-09-10 
hibernate 处理text 字段,像处理字符串一样建表脚本:/*

hibernate 处理text 字段,像处理字符串一样
建表脚本:

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

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>

File.hbm.xml文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2006-3-13 17:57:00 by Hibernate Tools 3.1.0.beta4 -->
<hibernate-mapping>
    <class name="com.study.database.hb.map.File" table="StoreFile" batch-size="0">
        <id name="uuid" type="string">
            <column name="UUID" length="128" />
            <generator type="string" lazy="false">
            <column name="NAME" length="200"/>
        </property>
        <property name="file" type="string" lazy="false">
            <column name="text" />
        </property>
    </class>
</hibernate-mapping>

File.java文件

package com.study.database.hb.map;
// Generated 2006-3-13 17:57:00 by Hibernate Tools 3.1.0.beta4

import java.sql.Clob;
/**
* File generated by hbm2java
*/

public class File
    implements java.io.Serializable
{
  // Fields

  private String uuid;
  private String name;
  private String file;
  // Constructors

  /** default constructor */
  public File()
  {
  }
  /** full constructor */
  public File(String name,String file)
  {
    this.name=name;
    this.file=file;
  }
  // Property accessors

  public String getUuid()
  {
    return this.uuid;
  }
  public void setUuid(String uuid)
  {
    this.uuid=uuid;
  }
  public String getName()
  {
    return this.name;
  }
  public void setName(String name)
  {
    this.name=name;
  }
  public String getFile()
  {
    return this.file;
  }
  public void setFile(String file)
  {
    this.file=file;
  }
}
//比以前特殊的地方是hibernate.cfg.xml多了个SetBigStringTryClob设置。

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

热点排行