| Your fix you implemented is not necessary and could have other side affects and I would recommend you remove it. Envers has always required that you implement proper equals and hashCode methods on your embeddables as well as entities if you audit them inside any collection-type. This is because Envers traditionally used an algorithm to detect changes by comparing the hashes of two instances to see if they were equal or not because the old-instance and new-instance are not reference equal. If you take a look at AbstractCollectionMapper#mapCollectionChanges, you'll notice some recent work where I moved away from this traditional approach for non-map based collections as a part of another bug reported. There were some complications with implementing this specifically for map-based collections so those still mandate the legacy requirement for hashCode/equal implementations. I'm going to close this issue as there is no code fix required from Envers to address your problem and that its known that map implementations need to move away from the legacy hash-code comparison algorithm. |