我遇到了很难理解的hibernate行为,如果有人能解释发生了什么事情会很棒。首先,我正在使用带休眠的spring。
我有一些代码,如下所示,引用“a”是从db加载的实体,
List<C> cs = a.getB().getCs();
Collections.sort(cs);
实体“C”实现了Comparable。调用此代码的方法上有一个@Transactional spring注释。我不确定的是,当这种情况发生时,如果我注释掉Collections.sort(cs)
,那么我看到实体“B”的版本号增加了。如果真的改变了列表中Cs的顺序,那将是有意义的。但是它并没有真正改变顺序,因为它们已经在表格中排序了,当我删除Collections.sort(cs)
时,我得到相同的结果。那么是什么导致了版本号的增加?
我错过了一些明显的东西吗?知道造成这种行为的原因会很好。如果你想了解更多细节,我会很乐意做一些代码。