我有两个表 一个order,一个item,是一对多的关系,item表中有个字段oid跟order表中的主键字段id关联,当我save(order)的时候可以在order表中成功插入,但我new 了一个item,把他加入order中
orderservice.addItem(order,item)的时候能生成下面的语句,但无法插入报这个异常Hibernate: insert into item (product, amount, oid) values (?, ?, ?) select scope_identity()
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法将 NULL 值插入列 'oid',表 'hibernate.dbo.item';该列不允许空值。INSERT 失败。

解决方案 »

  1.   

    一、检查Hibernate配置文件中配置ID为 ‘自适应’没有。
    二、id设为自增长没有。
      

  2.   

    你的oid字段也许没获取到值 调试一下 后台把要插入数据库的值都输出一下 看是否正常获得了 或是把表里oid字段改为允许为空应该就可以了
      

  3.   

    不行啊,oid允许为空,item表中oid字段就是NULL
      

  4.   

    <id
                name="empworkId"
                column="empwork_id"
                type="java.lang.Integer"
            >
                <generator class="native">
                </generator>
            </id>