关于HIBERNAT的问题
我有个问题是这样的,我有个Agent的表,里面有这个Agent的可用金额,我是想每次付款的时候,执行一下判断操作,判断这个Agent表里面的可以金额的钱是否够钱付,我不知道是不是hibernate的什么机制,例如这样,我每次都先从数据库先查一遍这个Agent表里面的数据,例如现在要付100块,我先这样
Agent paymentAgent = agentDAO.getAgentById(userAgent.getId());
然后判断这个 paymentAgent.getAllowBalance()//可用金额 是否够钱,就是大于100
奇怪的问题就来了,可能我差出来的 paymentAgent.getAllowBalance() 是够钱的,例如里面有200,但不知道可能其他情况把钱付走了,例如从其他途径付了101块,这样就不够付这100块,但不知道是不是HIBERNATE的什么缓存机制或者什么,明明不够钱了,还能付款,导致最后数据库变成负数了,因为这时候是 200-101 = 99 的,然后用 99 去付款 100 就是变成 -1 了,不知道为什么,希望大家帮个忙