美文网首页
hibernate查询SqlServer和oracle的char

hibernate查询SqlServer和oracle的char

作者: coolchun | 来源:发表于2017-04-01 16:00 被阅读0次

在Hibernate中,常量在数据库中被认为是CHAR类型的,Hibernate取值时将其保存为Character类型,而Character只能保存一个字符,所以造成返回值中只存在一个字符。Hibernate官方已存在此bug,却从未修复。

这建议的解决方案:
重写一个SQLServerDialect ,注册CHAR类型的对应方式,代码如下:

import java.sql.Types;
import org.hibernate.Hibernate;

public class MySQLServerDialect extends org.hibernate.dialect.SQLServerDialect  
{  
    public MySQLServerDialect()  
    {  
        super();  
        //very important, mapping char(n) to String  
        registerHibernateType(Types.CHAR, Hibernate.STRING.getName());  
    }  
}  

相关文章

网友评论

      本文标题:hibernate查询SqlServer和oracle的char

      本文链接:https://www.haomeiwen.com/subject/gtwiottx.html