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

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条)

报告相同问题?