我上传文件时,小于70K的文件可以使用Hibernate的save保存正常,如果大小70K的文件后,Hibernate调用save保存时就出错了;提示:could not insert 实体对象
发现是数据库字段类型设置有点问题
原来是blob最大只存储63K的文件;
现在将blob改为mediumblob(该类型可以保存十几M的二进制流数据)上传后发现:600多的K都可以上传,但是上传1M多的文件还是出错,
不知又是那里出错了;

解决方案 »

  1.   

    User.hbm映射文件如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="com.bean.entitybean">
      <class name="User" dynamic-update="true" table="tm_user">
        <id name="dataID" type="int" column="DataID">
         <generator class="native"/>
        </id>
        <property name="userName" column="UserName" type="string"/>
        <property name="age" column="Age"  type="int" />
        <property name="upFileByte" column="UpFileByte"  type="binary" />        
        <property name="upFileName" column="UpFileName" type="string"/>
        <property name="upFileContentType" column="UpFileContentType" type="string"/>        
      </class>
    </hibernate-mapping>
      

  2.   

    上传上去了,应该是没有错的,我把上传的文件都可以读取到Byte里,就是在保存的时候出错;
    怎么没有人回答问题呢?
      

  3.   

    刚才发现是mysql数据库设置有问题;
    mysql> set max_allowed_packet = 10485760;
    设置后不起作用不知是什么原因;