@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大师也搞不懂。任何帮助将不胜感激。
谢谢。
最佳答案
session 的更新可能会被推迟。尝试:
cs.flush();
如果这是您的问题,您可以在属性中将其设置为“自动”:
<prop key="org.hibernate.FlushMode">AUTO</prop>
关于java - 保存或更新无响应。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675759/