日期:2014-05-17  浏览次数:20690 次

hibernate高手请进,这个问题有点无语
我自己配置了主键生成策略是sequence,现在有这样的问题:
public Object save(Object o);通过这个保存对象后,我查询返回对象的ID,发现得到的ID是sequence的currentval,但是数据库中保存的对象对应的ID是nextval, 这是什么问题呢?

------解决方案--------------------
public int save(Object o){这里面return o.id;}不要直接返回插入的那个序列,可能你的序列当前值以存在于数据库,所以自动+1了
------解决方案--------------------
你应该在commit之后再看
而不是save完了就看
save了并不代表数据库里面存在
要commit了的才会在数据库中记录