表A中有一个字段followid不允许空,有默认值0
现在系统全部添加的内容followid都使用默认值
a.hbm.xml中应该怎么设置该怎么写
 <property name="cateTypeFollowId" type="java.lang.Integer">
            <column name="CATE_TYPE_FOLLOW_ID"/>
 </property>
自动生成的 not-null="true" 有这个,但加这个,必然不能通过,报错
CATE_TYPE_FOLLOW_ID这行不能为空,求解

解决方案 »

  1.   

    默认值是SQL 2005中字段设定的
      

  2.   

    现在我是在service层中写了方法,对于字段进行判断NULL则赋值
    既然数据库中设定了默认值,那么应该可以不这么做的吧,求解设定
      

  3.   

    加default是这样写吗?
     <property name="cateTypeFollowId" type="java.lang.Integer">
                <column name="CATE_TYPE_FOLLOW_ID" not-null="true" default="0"/>
            </property>
    还是报错
    not-null property references a null or transient value
    是不是我设置的问题?integer能这样写吗?
      

  4.   

    数据库中默认就行了。  映射文件中不必加要求,插入的时候直接插入null即可
      

  5.   

    数据库中设定默认值了,A表 AA,AB,AC3个字段,AA主键自增,AB不允许空,AC不允许空有默认值0
    页面传递只有AB数据,那么在创建这个对象时A.AB是有数据的,A.AA是主键自增,问题就在AC,页面传递的值中没有AC,AC在数据库中设定了。但HIBERNATE不认,只要你not-null就无法通过。允许NULL不传值,数据库中也会被添加成NULL,不会是默认值0
    DEFAULT的好像用不起来