关于hibernate持久化的问题
我在程序里写了这样一段:
SampleGroup targetGroup = (SampleGroup) session.load(SampleGroup.class, new Integer(targetGroupId));
targetGroup.setSampleIds(sampleid1);
session.update(targetGroup);
SampleGroup sourceGroup = (SampleGroup) session.load(SampleGroup.class, new Integer(sourceGroupId));
sourceGroup.setSampleIds(sampleid2);
session.update(sourceGroup);
结果数据库里的数据发生错误targetGroup对应的记录是正确的,但sourceGroup对应的记录的SampleIds字段是sampleid1不是sampleid2
如果将这段程序改为:
SampleGroup targetGroup = (SampleGroup) session.load(SampleGroup.class, new Integer(targetGroupId));
targetGroup.setSampleIds(sampleid1);
session.flush();
SampleGroup sourceGroup = (SampleGroup) session.load(SampleGroup.class, new Integer(sourceGroupId));
sourceGroup.setSampleIds(sampleid2);
session.flush();
就是正确的了,哪个高手能告诉我为什麽?谢谢