org.springframework.orm.hibernate3.HibernateSystemException: The database returned no natively generated identity value; nested exception is org.hibernate.HibernateException: The database returned no natively generated identity value
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:676)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:694)
at com.SSH.common.db.BaseDAO.save(BaseDAO.java:237)
at com.SSH.MySSH.user.service.UserService.save(UserService.java:41)
at com.SSH.MySSH.user.logic.UserLogic.saveOrUpdate(UserLogic.java:39)
at com.SSH.MySSH.user.logic.UserLogic$$FastClassByCGLIB$$b7cf2f65.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
这是因为数据库中的表与生成的db类中,.hbm.xml文件中主键设置了native的方式。
表中的主键应该是自增才对的。
解决办法: