100分,急 org.hibernate.AssertionFailure: null id in com.alpha.bean.AnswerInfo ent
项目会不定期的出现这个问题。数据库是mysql的。而且id是自增,也不是null的。而且是在查询的时候出现的。
异常信息:
org.hibernate.AssertionFailure: null id in com.alpha.bean.AnswerInfo entry (don't flush the Session after an exception occurs)
<id name="id" type="java.lang.Integer"> <column name="id" /> <generator class="native"></generator> </id> <property name="qid" type="java.lang.Integer"> <column name="qId" /> </property> <property name="content" type="java.lang.String"> <column name="content" length="5000" /> </property> <property name="adate" type="java.util.Date"> <column name="aDate" length="19" /> </property> <property name="aid" type="java.lang.Integer"> <column name="aId" /> </property> <property name="ip" type="java.lang.String"> <column name="ip" length="20" /> </property> <property name="status" type="java.lang.Integer"> <column name="status" /> </property> <property name="remark1" type="java.lang.String"> <column name="remark1" length="200" /> </property> <property name="remark2" type="java.lang.String"> <column name="remark2" length="200" /> </property> <property name="remark3" type="java.lang.String"> <column name="remark3" length="200" /> </property> <property name="remark4" type="java.lang.String"> <column name="remark4" length="200" /> </property>
CREATE TABLE `voteResuleInfo` ( `id` int(11) unsigned zerofill NOT NULL auto_increment, `voteQuestionId` int(11) default NULL, `voteSelectId` int(11) default NULL, `ip` varchar(20) default NULL, `voteDate` datetime default NULL, `remark` varchar(200) default NULL, `remark2` varchar(200) default NULL, `remark3` varchar(200) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
<column name="id" />
<generator class="native"> </generator>
</id>
没用过native本地id 自增
方向生成生成配置文件时,最好是选sequence
<generator class="sequence ">
<param name="sequence">seq_xxx</param>
</generator>
给它单独配个seq
[解决办法]