@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/