本帖最后由 baojieearth 于 2013-05-06 23:27:12 编辑

解决方案 »

  1.   

    你用的默认auto策略,
    你要生成标识列,应该 @GeneratedValue(strategy=GenerationType.IDENTITY)
      

  2.   

    @Id
    @GeneratedValue //无法生成自动增长的主键
    这样写没有错,你查查你的数据库表的Id是否设置了自动增长
      

  3.   

    user的DDLCREATE TABLE `user` (
      `id` int(11) NOT NULL,
      `username` varchar(20) DEFAULT NULL,
      `password` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      

  4.   

    user的DDLCREATE TABLE `user` (
      `id` int(11) NOT NULL,
      `username` varchar(20) DEFAULT NULL,
      `password` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    发现问题里,数据库id那要设置成AUTO_INCREMENT才行,再去检查beans.xml发现<prop key="hbm2ddl.auto">create</prop>这个写错了
      

  5.   

    user的DDLCREATE TABLE `user` (
      `id` int(11) NOT NULL,
      `username` varchar(20) DEFAULT NULL,
      `password` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    发现问题里,数据库id那要设置成AUTO_INCREMENT才行,再去检查beans.xml发现<prop key="hbm2ddl.auto">create</prop>这个写错了
    好吧,楼主加油~~
      

  6.   

    <prop key="hibernate.hbm2ddl.auto">update</prop>就对了