zoukankan      html  css  js  c++  java
  • SQLSERVER Image类型 Hibernate 映射问题 简单实现

    首先说明语言环境Java、Hibernate 3.2,其他废话不说
    实体类:byte[]
    SQLSERVER2005:image (2000没测试过)
    重点 Hibernate:serializable
    别的该怎么做还是怎么做。
    网上其他方法测试说明:
    1、实体类:String
    SQLSERVER2005:text
    Hibernate:text
    使用new String(byte[],charset) 和 String.getBytes(charset) 转换
    说明: 当charset使用GB2312,UTF-8,两种类型,再转换时数据就已经出问题了。
                             用ISO-8859-1时,转换没问题,存入数据库后再取出,数据又出问题了。
    2、实体类:byte[]
    SQLSERVER2005:text/image
    Hibernate:blob
    说明:存入数据库时报错。重写方言:存入数据库还是报错。
    3、换一个连接驱动器:jtds.jar 下载地址:http://sourceforge.net/project/showfiles.php?group_id=33291

    连接字符串:driver = net.sourceforge.jtds.jdbc.Driver
    url = jdbc:jtds:sqlserver://127.0.0.1:1433/dbname
    username=sa
    password=
    如果这样了还要报错,那再自定义一个方言类来重写hibernate的SQLServerDialect
    import java.sql.Types;
    import org.hibernate.Hibernate;
    import org.hibernate.dialect.SQLServerDialect;
    public class MySQLServerDialect extends SQLServerDialect {
             public MySQLServerDialect() {
                      super();
                      registerHibernateType(Types.LONGVARBINARY, Hibernate.BLOB.getName());
             }
    }
    修改hibernate.hbm.xml配置
    <property name="hibernate.dialect">com.test.hibernate.MySQLServerDialect</property>
    OK了!
    说明:没试过。

  • 相关阅读:
    软件工程作业团队作业No.1
    软件工程作业No.5
    软件工程作业No.4
    软件工程作业No.3
    软件工程作业No.2
    java 读写yml文件,修改文件内容保持原格式
    oracle 相关
    git基础从创建仓库开始
    oracle安装过程问题记录
    Java 实现小工具读取文件有多少个单词
  • 原文地址:https://www.cnblogs.com/kaixuanpisces/p/SQLSERVER_Image_Hibernate_mapping.html
Copyright © 2011-2022 走看看