hibernate数据库默认值更好的解决方法

听说这个论坛不错,也不知道我的问题有没人回答,第一次发贴请大家多多支持.
最近项目中遇到一个问题,不知道有没有更好的解决方法:
我在ORACLE数据库中设了默认值,并配置了dynamic-insert="true".
由于要做通信录和别的客户端的增量同步,增量上传是会把主键(ID)传过来,在WEB系统保存时调用session.save()方法,但hibernate会把原来上传过来的ID给替换成hibernate自动生成的,但需要保持原来的主键(ID),不知道大家有没有什么更好的方法解决.
自己先顶一下
调用了session.saveOrUpdate()方法,应该是保存才对,不知道为什么还是执行更新操作.

update LINKGROUP set GRPID=?, GRPNAME=? where GID=?
Fmcc_Log:[2008-12-22 13:52:35] ERROR SessionImpl:2375 - Could not synchronize database state with session
net.sf.hibernate.HibernateException: SQL insert, update or delete failed (row not found)

>>调用了session.saveOrUpdate()方法,应该是保存才对,不知道为什么还是执行更新操作.
检查设定的ID吧
如果不是你写错了,那最好弄个Hibernate官方包,用他们的jar
安全写


把代码发一下最好了!

谢谢大家的回复
>>调用了session.saveOrUpdate()方法,应该是保存才对,不知道为什么还是执行更新操作.
如果操作的实体,处于瞬时状态(transient)那么就会保存,而如果实体处于脱管状态(Detached)那么就更新。