sqservice 关于No Dialect mapping for JDBC type :-9 hibernate不支持方言的问题

( SELECT DISTINCT
( SELECT CUSTOMER_NAME + ',' FROM ORDER_CON_CUS WHERE TICKET_NUMBER = a.TICKET_NUMBER FOR XML PATH ( '' ) ) AS CUSTOMER_NAME
FROM
   ORDER_CON_CUS a 

 

上面这段sql在数据库运行是没有问题的,但是放在代码里面运行就出问题了,原因是什么呢?

我们来看一下hibernate的源码

sqservice 关于No Dialect mapping for JDBC type :-9 hibernate不支持方言的问题

可以看看这个type -9是什么意思呢 ?在去看看这个Types

sqservice 关于No Dialect mapping for JDBC type :-9 hibernate不支持方言的问题

什么意思呢?他是指sql执行的一个类型;再看看我们的报错信息是不是也是-9

 

好了 那么我们就来重写一下SQLServerDialect这个类 

sqservice 关于No Dialect mapping for JDBC type :-9 hibernate不支持方言的问题

 

当然这一步完了之后就差最后一步了  修改配置文件hibernate的路径

sqservice 关于No Dialect mapping for JDBC type :-9 hibernate不支持方言的问题

好了到这一步就完成了 启动成功!