hibernate的实体都是存储在缓存中的,所以你会发现有的时候当你创建出两个主键相通的实体的时候会报错。
正常情况是当你调用save方法的时候,这个实体对象未必已经保存到数据库了,调用close方法的时候,对象才真正保存如数据库。
当你调用flush方法的时候是强制将对象保存到数据库。
举例如下:
Hncitem05 hh = this.hibernateTemplate.get(Hncitem05.class, h.getSno());
hh.setSname(h.getSname());
hh.setBate(h.getBate());
this.hibernateTemplate.update(hh);
this.hibernateTemplate.flush();