@SuppressWarnings("unchecked")
//@Override
public SerialNumber getCounter(String id) {
    Session cs = sessionFactory.getCurrentSession();
    SerialNumber sn = (SerialNumber) cs.get(SerialNumber.class, id);
    if (sn == null) {
        //TODO Throw an error (maybe). The code below creates a new Serial number counter
        log.debug("NO Serial Number for: " + id + " was found.");
        sn = new SerialNumber();
        sn.setSerialNumberId(id);
        sn.setName("Unspecified");
        sn.setValue(0);
    }
    sn.setValue(sn.getValue()+1);
    cs.saveOrUpdate(sn);
    cs.close();
    return sn;
}


该行被忽略,并且不保存任何内容到数据库(MySQL):

cs.saveOrUpdate(sn);


有什么想法吗?我没头绪

我绝不是Java专家,但是即使这里的Java专家也无法弄清楚。任何帮助将不胜感激。

谢谢。

最佳答案

可能会将更新推迟到会话中。尝试:

cs.flush();


如果这是您的问题,则可以在属性中将其设置为AUTO:

<prop key="org.hibernate.FlushMode">AUTO</prop>

关于java - SaveOrUpdate无响应。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11675759/

10-10 15:55