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

来源:互联网 发布:咸鱼怎么申请淘宝介入 编辑:程序博客网 时间:2024/05/16 01:35

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结构

 

注意:id作为主键,一定要在MySQL中设置为自增方式,这是问题的根源

 

可以在SQL语句在终端测试insert into user_table values (null, ‘username’, ‘password’);如果能成功说明id已设置为自增方式

Mysql数据库 hibernate保存数据时,Mysql主键需设定自增,否则报错!

0 0
原创粉丝点击