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了!
说明:没试过。

转载于:https://www.cnblogs.com/kaixuanpisces/archive/2009/08/14/SQLSERVER_Image_Hibernate_mapping.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值