可爱的equals和hashCode,所有的理论是here也here使用自动生成的hibenate实体对象的ID在equals和hashCode方法
我已用等号内的自动生成的ID的决定()和hashcode()在我的一些休眠实体/域对象。
然而,一些网站说,你永远不应该这样做,由于持续的对象到数据库中的第一次的风险,而这是在被比较或使用哈希码的过程。
我的观点是,在大多数情况下使用,这是更不可能比被改变任何其他领域。
各个领域对象有生成的ID一旦被首先创建时,而几乎所有其他领域具有在正常的业务流程,以改变(甚至是唯一的用户名可以改变...)的机会。
而在我的许多域对象中,唯一的id几乎是唯一适合的字段需要考虑(Person,Address,Pet,... Customer等等等等)?合并字段是个好主意,但从来没有使用自动生成的ID,我认为,没有好的建议。
我失去了什么东西?