java

时间:2016-11-17 09:02:04

标签: java multithreading hibernate synchronization

我正在使用hibernate处理Soap WebServices应用程序。我正在为每个订单生成orderNumbers。为此,我有两个字段的下表

ORDER_SERIES LAST_ORDER_COUNT

ORD 250

首先生成ORDER_NO我从上表中获取记录,并将LAST_ORDER_COUNT增加1并附加ORDER_SERIES

所以我的ORDER_NO将是ORD251

之后,我使用新增加的LAST_ORDER_COUNT

更新上表

ORDER_SERIES LAST_ORDER_COUNT

ORD 251

我写了一个方法来执行此操作意味着从表中获取记录,增加LAST_ORDER_COUNT追加两者并返回订单号并更新LAST_ORDER_COUNT。我将此方法设为同步。

但在生产环境中我得到重复的ORDER_NOs

我的soap webservices正在通过android apk调用。

任何想法为什么ORDER_NO正在重复

1 个答案:

答案 0 :(得分:0)

Id应该是数据库中的自动增量,它也应该是主/唯一键。如果你不这样做,那么将来如果你有更多的请求,你就会面临这样的问题。