hibernate 类型转换

hibernate 执行SQL语句字符串常量类型变成了 character

解决办法

1重写Dialect

public class SQLServerDialect extends org.hibernate.dialect.SQLServerDialect{
    public SQLServerDialect() {
        super();
        //very important, mapping char(n) to String
        registerHibernateType(Types.CHAR, Hibernate.STRING.getName());
    }
}
 
2
this.getSession().createSQLQuery("select id,name,state from tb").
addScalar("id", Hibernate.STRING).
addScalar("name", Hibernate.STRING).
addScalar("state", Hibernate.STRING).list();
 
3
select id,name,cast(state as varchar(2)) from tb
原文地址:https://www.cnblogs.com/jentary/p/11422223.html