用户注册的数据放在缓存中,同时放入一个列队里保存到数据库,而现在缓存中没有ID号,这个ID号只能数据保存到数据库中才会产生。我用oracle序列sequence.nextval查询下一个ID号放入缓存,但数据保存前,hibernate又查询了一次sequence.nextval,结果是数据库中ID号增量为2,即上一个是01,下一个就是03了。有没有办法让hibernate插入时不在查询sequence.nextval。或者有什么更好的办法预生成ID号存入缓存。
望各位指导。
------解决方案--------------------
把 @GeneratedValue标注去了
------解决方案--------------------
或者你可以先保存,然后缓存保存方法返回的那个对象,保存后的那个对象ID已经赋值了