Du skal bruge pessimistisk låsning, som kan opnås ved at
setLockMode(String alias, LockMode lockMode)
på forespørgslen og brug LockMode.UPGRADE
.
Dette vil dog helt sikkert dræbe skalerbarhed og ydeevne, hvis du har meget adgang på dette bord. Du er bedre enten ved at bruge en sekvens eller en anden strategi er at oprette en service til at tildele numre (f.eks. en SSB), som griber 100 numre ad gangen, opdaterer databasen og deler dem ud. Det sparer dig for 198 databaseadgange.
OPDATERING:
Du bliver også nødt til at ændre dit borddesign lidt. Det er bedre at have en enkelt række med et kendt ID og at gemme det nummer, du øger i en anden kolonne. Så bør du opdatere rækken i stedet for at slette den gamle række og tilføje en ny. Ellers virker rækkelåsningsstrategien ikke.
OPDATERING 2:
OP fandt, at følgende virkede:
session.get(class.Class, id, lockOption)