Why is that a problem? As far as I remember, some of such choices were made intentionally based on performance data. There is no requirement for all objects to have a different hashcode, the expectation is just for the hash codes to be "fairly distributed" so to minimize probability of collisions. Basing the hashcode on the ID only should work just fine as the IDs are relatively unique - sure adding more fields adds some entrophy but it becomes a tradeoff in the complexity of computing these, I doubt it would be worth it. Even if it was worth it from a performance POV, it wouldn't be a bug. |