今天调试程序的时候,发现插入数据时老是抛出异常:"a different object with the same identifier value was already associated with the session"
起初以为是override hashCode()的方法不对。后来google查了查多数问题都出现在detached对象之后,再链接session由于对象的改变而出现的异常。
最后发现原来问题很简单....是在用annotation重写mapping的时候,忘记给@Id加上@GeneratedValue,导致第一个row insert后,再次insert时没有生成新的id!
看来annotation虽然方便了mapping,但由于和代码集中在一块了,很容易出现疏忽大意的错误,而且一般都不会注意到-.-
想起了python的SQLObject, SQLAlchemy,虽然功能没有Hibernate丰富,但是简单实用!
posted on 2007-03-29 20:28
hijeff 阅读(400)
评论(0) 编辑 收藏 所属分类:
Hibernate 、
ErrorLog