chenjingbo009 2009-07-06 10:20
浏览 445
已采纳

hibernate的ID生成策略(native报错)

[code="java"]





[/code]
我用native的话就这样.
[java] 09:59:58,576 DEBUG JDBCExceptionReporter:69 - could not insert: [com.tech.model.Event] [insert into EVENTS (EVENT_ID, EVENT_DATE, EVENT_TITLE) values (null, ?, ?)]
[java] java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法将 NULL 值插入列 'EVENT_ID',表 'test.dbo.EVENTS';该列不允许空值。INSERT 失败。
我换 increment 这个生成策略就没错...
[b]问题补充:[/b]
1楼说的答案我试了..我把ID类型都改成 INT .数据库也改成INT.但是还是报这个错误...

  • 写回答

14条回答 默认 最新

  • 廖雪峰 2009-07-09 12:53
    关注

    用mssql,你需要设置主键bigint, autoincreament
    用oracle,你需要设置主键bigint, sequence
    这样才能在hibernate中指定native

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(13条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办