No Dialect mapping for JDBC type :0

data service 架构:spring Roo + hibernate+mysql

在调用stored procedure的时候,出现:No Dialect mapping for JDBC type:0
通过反编译java.sql.Types.java得知type:0 对应于NULL
  No Dialect mapping for JDBC type :0 - ftutor - ftutor ops

 

原因是java中的java.sql.Types中定义了NULL的解 析,但是hibernate 的dialect不能够支持,在使用spring roo 配置项目的时候,使用的,使用的jpa为hibernate, 那么默认的persistent.xml中有一行为:
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
这个是用来定义hibernate的dialect,我们可以重新实现这个dialect然后重新给这个value赋值:
No Dialect mapping for JDBC type :0 - ftutor - ftutor ops
 
然后将persistent.xml中的这个属性,改成 MysqlDialect class所在的位置就ok了
这样就能够使 hibernate支持NULL type的类型值了。
 
除此之外,我们还需要进一步做修改,在定义sessionFactory的applicationContext.xml中,也需要将Dialect定义为指向我们新定义的类,才能够完全解决这个问题。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值