org.hibernate.AssertionFailure: null id in xxx.xx.xx的问题

时间:2023-03-08 15:56:37
org.hibernate.AssertionFailure: null id in xxx.xx.xx的问题


今日在开发时遇到一个比较奇怪的问题,保存时报这个异常:
  1. org.hibernate.AssertionFailure: null id in com.aa.TShoucang

null id,这个是什么回事呢?数据库是自动增长了,hibernate映射文件也一切正常的了,看了后台也打印出了insert into ....这个的语句了,但为什么就是插入不成功呢?

本着知之为知之,不知google之的精神,google了一下,都是说数据库与映射文件不对应,数据库设置了不为null,但hibernate里的映身文件设置了为null等等的.

发现都不是这个的问题,后来直接将打印出来的sql语句发送到数据库里执行一下,也是报一样的错,也就是说与hibernte没关系了.如以下这一句:

  1. insert into t_shoucang (url, describe, objic, userid, createuserid, createusername, createtime, updatetime, id) values ('aa', 'bb', 'cc', 'dd', 'ee', 'ff', '2010-01-01', '2010-01-01', 'abcd123');

发现describe这个字段变成了蓝色,是关键字,加多一个s后,再运行,OK了.

所以总结得出,null id这个问题时,有可能是字段里用到了数据库的关键字了.

今日又再出现这个问题了,并不是数据库关键字的原因了,如果数据库里设置了某个字段值不为null,而你保存的时候就设置了为null,也会报这个异常的。郁闷....