日期:2014-05-19  浏览次数:20741 次

spring和hibernate整合做单元测试时报错:DEFAULT和NULL不允许作为显示标识值
本帖最后由 Giant_chenmeng 于 2012-11-19 12:59:39 编辑 在做Spring和Hibernate整合时做单元测试,调用save方法报错:
  com.microsoft.sqlserver.jdbc.SQLServerException:DEFAUT和NULL不允许作为显式标识值。
  网上查N久没查到,看看哪位大神能帮个忙的啊
  映射文件里面id生成策略是native,数据库里面的id列属性标识选择了是,标识增量和种子都是1,下面这个错怎么 解决呢?!

------最佳解决方案--------------------
扣十分
------其他解决方案--------------------
  搞出来了,哈哈,是底层方言弄错了,网上搜了一下各种数据库的方言,sql server的是org.hibernate.dialect.SQLServerDialect,我之前用的是org.hibernate.dialect.HSQLDialect,native是根据底层数据库来生成id的,方言错了,生成策略当然就不符合在用的数据库的存储方法
  是方言错了
------其他解决方案--------------------
不怎么会用论坛耶,怎么结贴都不会