一个很郁闷的hibernate异常:null id in entry

jabeginner 2008-09-22 12:54:15
异常名称 org.hibernate.AssertionFailure
异常消息 null id in entry (don't flush the Session after an exception occurs)

这个异常并不是一直都出现的,他是偶尔出现,刷新他几下又会没有事,但是过一会可能又会出现这样的问题。

大家说一下这是什么个原因啊!
...全文
2921 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangrj 2010-08-23
  • 打赏
  • 举报
回复
跟楼主同样的问题,在查询的时候出现该异常。。。。。
wangwei891211 2010-03-05
  • 打赏
  • 举报
回复
通过该文章获得思路~

我的问题也解决了~!

帮顶~!

xuxiaolongsuperman 2010-02-27
  • 打赏
  • 举报
回复
引用 12 楼 qq278095755 的回复:
你肯定是插入后,没有提交事务。刷新后事务才提交的。



这位兄台说到了点子上了。
可能原因是: 虽然你是在查询时报错,但你那条记录是刚插入的,事务还没有提交。
yezi1305 2009-11-27
  • 打赏
  • 举报
回复
也遇到这个问题,学习了,没有为非空字段赋值
donotsmoking 2008-09-23
  • 打赏
  • 举报
回复
在插入时作一下空处理不就可以了!!!!
hcz202202 2008-09-23
  • 打赏
  • 举报
回复
应该是非空的问题吧
kongsufeng1 2008-09-23
  • 打赏
  • 举报
回复
學習,JF
liaoyi_ipanel 2008-09-22
  • 打赏
  • 举报
回复
表的配置文件table.hbm.xml没写 <id>标记
linv89 2008-09-22
  • 打赏
  • 举报
回复
说的太不详细了!
無名VF 2008-09-22
  • 打赏
  • 举报
回复
id在XML里怎么配置的? 发出来看一下啊
qq278095755 2008-09-22
  • 打赏
  • 举报
回复
你肯定是插入后,没有提交事务。刷新后事务才提交的。
吐司vivi 2008-09-22
  • 打赏
  • 举报
回复
1、数据库里不能为空的字段没有设置值
2、查看hibernate的配置文件是不是有误
老班长涛哥 2008-09-22
  • 打赏
  • 举报
回复
学习!
deeplyloving 2008-09-22
  • 打赏
  • 举报
回复
该异常信息是在提示没有为数据中的非空字段设置值。
如果通过Hibernate增加一条记录的时候我们必须显式的通过setXxx方法为该属性赋值(/默认值)。因为在保存之前Hibernate会检查该非空字段对应的实体属性是否为空。
如果不想显式赋值的话,我们可以通过xxx.hbm.xml配置文件来实现,也就是在配置文件中给出该字段的默认值。或者在你的类中设置默认值就行了。
注意的是rename数据库保留字段
Landor2004 2008-09-22
  • 打赏
  • 举报
回复
把查询的语句放到try catch里,然后catch里面加上session.close();

试试
lihan6415151528 2008-09-22
  • 打赏
  • 举报
回复
dynamic-insert="true"和 dynamic-update="true" 加上这个试试
lihan6415151528 2008-09-22
  • 打赏
  • 举报
回复
你把你数据库表里面非空字段加上默认值
jabeginner 2008-09-22
  • 打赏
  • 举报
回复
我还有一个问题没有说,就是这个错误的发生不是在插入的时候发生的。而是在查询的时候出现的错误
goldlive_8888 2008-09-22
  • 打赏
  • 举报
回复
表的配置文件table.hbm.xml没写<id>标记
sunzhyng 2008-09-22
  • 打赏
  • 举报
回复
空id,你在hibernate中对id类型设置需要改一下
加载更多回复(2)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧