ついに私は奇妙な行動の理由を見つけました。この問題は、(まだアタッチされている)エンティティからデタッチされたドメインモデルオブジェクトにすべての値をコピーするメソッド中に発生します。複雑なデータ構造(HashMapsを含むベクトル)を含む添付エンティティを読み取ったので、これはすべてうまく機能します。Listインターフェイスから.addAllメソッドを使用してこの値をコピーしました。
List activePropertyValue = (List)mapEntry.getValue();
// value contains HashMaps!
List detachePropertyValue = new Vector();
detachePropertyValue.addAll(activePropertyValue);
しかし、これにより、添付されたエンティティデータプロパティのハッシュ値が変更されたようです。したがって、すべてのエンティティがデータベースで更新された後、バージョン番号が増加します。
すべての値をコピーする前にエンティティを切り離すことで問題を解決しました。
manager.detach(aEntity);
.....
List activePropertyValue = (List)mapEntry.getValue();
// value contains HashMaps!
List detachePropertyValue = new Vector();
detachePropertyValue.addAll(activePropertyValue);