hibernate 中的方言與數據庫中的數據類型不對應問題
有時候會遇到 hibernate no mapping Dialect type -9 之類的,這個就是方言與數據庫中的數據類型不對應問題 ,那先說一下解決思路
解決思路
- 換方言
-數據庫中表類型換了
-繼承hibernate 中的方言,重寫hibernate 的數據類型對應關係
在第一個方法不可以的情況下,第二個顯然是最好的解決方法!
import org.hibernate.dialect.SQLServerDialect;
/**
* 自定義方言的類,用於解決hibernate中方言與數據庫不類型不對的問題
*/
public class SqlServer2008Dialect extends SQLServerDialect {
public SqlServer2008Dialect() {
super();
registerHibernateType(1, "string");
registerHibernateType(-9, "string");
registerHibernateType(-16, "string");
registerHibernateType(3, "double");
}
}
最後在改寫一下hibernate 中方言類的配置就可以了!