天天看點

SSH:Field 'id' doesn't have a default valueField 'id' doesn't have a default value

SSH架構版本struts2.3+hibernate4.3+spring4.0

Field 'id' doesn't have a default value

1>User類

public class User {

       private Integer id;

       private String username;

       private String password;  

       public Integer getId() {

              return id;

       }

       public voidsetId(Integer id) {

              this.id = id;

       }

2>User.hbm.xml

<hibernate-mapping package="com.love.lifang.struts2spring.domain">

       <!-- 映射User類 -->

       <class name="User"table="user_table">

              <id name="id"  type="java.lang.Integer">

                     <generator class="identity" />

              </id>

<property name="username"  type="java.lang.String"></property>

              <property name="password"  type="java.lang.String"></property>

       </class>

</hibernate-mapping>

3>user_table結構

SSH:Field 'id' doesn't have a default valueField 'id' doesn't have a default value

注意:id作為主鍵,一定要在MySQL中設定為自增方式,這是問題的根源

SSH:Field 'id' doesn't have a default valueField 'id' doesn't have a default value

可以在SQL語句在終端測試insert into user_table values (null, ‘username’, ‘password’);如果能成功說明id已設定為自增方式

Mysql資料庫 hibernate儲存資料時,Mysql主鍵需設定自增,否則報錯!