ERROR: Field 'culture_title' doesn't have a default value
今天做項目,在插入數據時出現了這個從沒遇到的異常,結果足足糾纏了十幾個小時后終於搞定了,看了98%的異常分析都是針對組件id出現了類似的異常,而針對property出現同類似的異常,分析相對較少,
hibernate property出現 Field 'culture_title' doesn't have a default value 異常分析:
在MySQL 5.0.2之后對數據輸入進行了強制性的加嚴處理,並且保留了以前的MySQL對非法或不當值並不嚴厲的行為,MySQL默認是對數據進行加嚴處理,但你可以為不良值選擇更傳統的處理方法,從而使得服務器能夠拒絕並放棄出現不良值的語句。
解決方法一:(足夠用了)
在數據庫中對報錯的字段設置默認值, 整數:0 ,字符串:設為NULL,
找到對應的表--->設計表--->默認選擇框(設置默認值)
解決方法二:
MYSQL安裝目錄--->搜索打開
my.ini,查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
修改為
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
然后重啟MYSQL
hibernate property出現 Field 'id' doesn't have a default value 異常分析:
出現了主鍵異常是最好解決的:
1、主鍵類型能否對上號;
2、如果使用的是注解方式,看是否忘記設置自增identity
1 //實體類 2 3 @Entity 4 @Table(name="xt_firm_culture") 5 public class Culture implements Serializable{ 6 7 8 private static final long serialVersionUID = 1L; 9 @Id 10 @GenericGenerator(strategy="identity", name="culture_id") 11 private Integer id ; 12 private String title; 13 private String content; 14 private Integer status; 15 private String date;
