insert="false" update="false"的作用是生成sql语句的时候不对当前字段进行insert和update操作,这样hibernate就不会在未指明默认列的情况下将数据库表中默认值字段清空,但同时也会造成无法对此字段插入或更新非默认值
在hibernate的xml配置文件中对有默认值字段的property添加(insert="false" update="false"): <property name="N_ISOK" type="java.lang.Long" insert="false" update="false"><column name="N_ISOK" precision="22" scale="0" /> </property> 假如,在属性上设置了insert= "false ",而没有设置update= "false ",则,则生成的插入语句中没有该属性,但更新语句上有,因为默认是true的 many-to-one指的是多对一关系,在DB中该属性是一个外键,java中是一个被关联的对象 hibernate中并没有要求你一定要用insert= "false " update= "false " 相反,insert应该是true的, 若是false,就没有意义了