在页面插入文本超过100汉字时就报错, 字段的java 类型为string, Hibernate配置如下:
 <property name="content" type="text">
            <column name="CONTENT" sql-type="VARCHAR2(4000)"/>
        </property>
日志信息:[08-5-24 11:05:07:265 CST] 35273527 JDBCException E net.sf.hibernate.util.JDBCExceptionReporter  TRAS0014I: 下列异常已记录 java.sql.SQLException: 不允许的操作: streams type cannot be used in batching

解决方案 »

  1.   

    你的 CONTENT  是 text数据库类型,不允许批量更新。如果你的内容只有2000个,可以修改为String 类型
      

  2.   

    本来设置的是String 类型,但字数超过1000 时就报错,好像String 类型有字数限制,大概1000字,才改成Test类型的 
      

  3.   

    看回复的第一句话,你只能选择一个。 我不记得String有限制,还有你的SQLType是varchar2 ,好奇怪的,数据库又不是text,可前面设置为text, 你到底用哪个?
      

  4.   

    我更改成如下配置,插入超过500汉字报下面的错,实在是郁闷啊:
    <property name="content" type="string" >
                <column name="CONTENT" length="4000"/>
            </property>不设置  length=4000 也报一样错
    Caused by: java.sql.SQLException: 数据大小超出此类型的最大值: 5262
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:155)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2531)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1243)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:1685)
    [08-5-24 16:41:53:266 CST] 713aac58 SystemErr     R  at net.sf.hibernate.type.StringType.set(StringType.java:26)