项目组的同事提了一个疑问,如下图,pl/sql查询oracle数据库查出的值,在java端会被截取
到最后发现是Oracle的Char只能读取第一个字符
解决办法:
public class ShineOracleDialect extends Oracle10gDialect{
/**
* 构造函数.
*/
public ShineOracleDialect(){
super();
//解决Oracle的Char只能读取第一个字符.
this.registerHibernateType(Types.CHAR, Hibernate.STRING.getName());
//Oracle的LONG类型长文本支持
// this.registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName());
//ORACLE的timestamp with local time zone
// this.registerHibernateType(-102, Hibernate.TIMEZONE.getName());
}
}