问题积累—关于 No Dialect mapping for JDBC type: 错误
参考了http://www.iteye.com/topic/580476的文章,解决问题。
?
在此记录一下:
?
import java.sql.Types; import org.hibernate.Hibernate; import org.hibernate.dialect.SQLServerDialect; public class SqlServer2008Dialect extends SQLServerDialect { public SqlServer2008Dialect() { super(); registerHibernateType(Types.CHAR, Hibernate.STRING.getName()); registerHibernateType(Types.NVARCHAR, Hibernate.STRING.getName()); registerHibernateType(Types.LONGNVARCHAR, Hibernate.STRING.getName()); registerHibernateType(Types.DECIMAL, Hibernate.DOUBLE.getName()); } } ???2:修改配置文件application.xml:?<property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> com.***.***.***.util.SqlServer2008Dialect </prop> </props></property>?注:其他的数据类型请参考下表类型名称显示长度数据库类型JAVA类型JDBC类型(int)Types属性VARCHARL+NVARCHARjava.lang.String12Types.VARCHARCHARNCHARjava.lang.String1Types.CHARBLOBL+NBLOBjava.lang.byte[]-4Types.LONGVARBINARYTEXT65535VARCHARjava.lang.String-1Types.LONGVARCHARINTEGER4INTEGER UNSIGNEDjava.lang.Long4Types.INTEGERTINYINT3TINYINT UNSIGNEDjava.lang.Integer-6Types.TINYINTSMALLINT5SMALLINT UNSIGNEDjava.lang.Integer5Types.SMALLINTMEDIUMINT8MEDIUMINT UNSIGNEDjava.lang.Integer4Types.INTEGERBIT1BITjava.lang.Boolean-7Types.BITBIGINT20BIGINT UNSIGNEDjava.math.BigInteger-5Types.BIGINTFLOAT4+8FLOATjava.lang.Float7Types.REALDOUBLE22DOUBLEjava.lang.Double8Types.DOUBLEDECIMAL11DECIMALjava.math.BigDecimal3Types.DECIMALBOOLEAN1同TINYINTjava.lang.Integer-6Types.TINYINTDATE10DATEjava.sql.Date91Types.DATETIME8TIMEjava.sql.Time92Types.TIMEDATETIME19DATETIMEjava.sql.Timestamp93Types.TIMESTAMPTIMESTAMP19TIMESTAMPjava.sql.Timestamp93Types.TIMESTAMPYEAR4YEARjava.sql.Date91Types.DATE