I mean it seems kind of obvious that Hibernate would determine dirtiness based on the individual state, rather than #equals on the entity itself...