I can reproduce the problem with Map, but am unable to reproduce the issue with an @Embeddable. As far as I can see in the code, changes done to embeddables will always be detected as dirty.