hibernate
不给有默认值的字段赋值,让它使用数据库的默认值,方法:
1、给class附属性“ dynamic-insert="true"”
例:<class name="com.crtv.entity.Category" table="CATEGORY" dynamic-insert="true">
2、给property(默认值的属性)附属性“ insert="true"”
例子:<property name="disorder" type="java.lang.Long" insert="true">
3、给默认值的属性对应的字段(column)附属性“ not-null="false" ”
例子: <property name="disorder" type="java.lang.Long" insert="true">
<column name="DISORDER" precision="22" scale="0" not-null="false" />
</property>
证实:
在没有付这些属性之前,hibernate自动生成的映射sql语句是:
insert into CATEGORY (NAME,DISORDER, CATEGORY_ID) values (?, ?, ?)
付过这些属性之后,hibernate自动生成的映射sql语句是:
insert into CATEGORY (NAME, CATEGORY_ID) values (?, ?)