有时用xml 映射数据库,定义id自增,如
<id name="id">
<generator class="native"/>
</id>
会出现 Field 'id' doesn't have a default value
检查后所有的设置都没有错。但就是会出现这个错误。
这是因为在在数据库中已经有table了,且table的id不是自增,且hibernate.cfg.xml中 <property name="hbm2ddl.auto">update</property> 是upadate。
只要设置为create就好了 <property name="hbm2ddl.auto">create</property>
然后可以改回<property name="hbm2ddl.auto">update</property>。