解决ERROR doesn't have a default

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <p>今天做项目,在插入数据时出现了这个从没遇到的异常,结果足足纠缠了十几个小时后终于搞定了,看了98%的异常分析都是针对组件id出现了类似的异常,而针对property出现同类似的异常,分析相对较少, </p><p>hibernate property出现 Field 'culture_title' doesn't have a default value 异常分析: </p><p>  在MySQL 5.0.2之后对数据输入进行了强制性的加严处理,并且保留了以前的MySQL对非法或不当值并不严厉的行为,MySQL默认是对数据进行加严处理,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句。 </p><p>解决方法一:(足够用了) </p><blockquote><p>&nbsp;在数据库中对报错的字段设置默认值, 整数:0 ,字符串:设为NULL, </p><p>找到对应的表---&gt;设计表---&gt;默认选择框(设置默认值) </p></blockquote><p>解决方法二: </p><p>MYSQL安装目录---&gt;搜索打开my.ini,查找 </p><blockquote><p>sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" </p></blockquote><p>修改为 </p><blockquote><p>sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" </p></blockquote><p>然后重启MYSQL </p><p>hibernate property出现 Field 'id' doesn't have a default value 异常分析: </p><p>出现了主键异常是最好解决的: </p><p>1、主键类型能否对上号; </p><p>2、如果使用的是注解方式,看是否忘记设置自增identity </p><p><br></p><p>1 //实体类 </p><p>2 </p><p>3 @Entity </p><p>4 @Table(name="xt_firm_culture") </p><p>5 public class Culture implements Serializable{ </p><p>6 </p><p>7 </p><p>8 private static final long serialVersionUID = 1L; </p><p>9 @Id </p><p>10 @GenericGenerator(strategy="identity", name="culture_id") </p><p>11 private Integer id ; </p><p>12 private String title; </p><p>13 private String content; </p><p>14 private Integer status; </p><p>15 private String date; </p><p><br></p>