可愛的equals和hashCode,所有的理論是here也here使用自動生成的hibenate實體對象的ID在equals和hashCode方法
我已用等號內的自動生成的ID的決定()和hashcode()在我的一些休眠實體/域對象。
然而,一些網站說,你永遠不應該這樣做,由於持續的對象到數據庫中的第一次的風險,而這是在被比較或使用哈希碼的過程。
我的觀點是,在大多數情況下使用,這是更不可能比被改變任何其他領域。
各個領域對象有生成的ID一旦被首先創建時,而幾乎所有其他領域具有在正常的業務流程,以改變(甚至是唯一的用戶名可以改變...)的機會。
而在我的許多域對象中,唯一的id幾乎是唯一適合的字段需要考慮(Person,Address,Pet,... Customer等等等等)?合併字段是個好主意,但從來沒有使用自動生成的ID,我認爲,沒有好的建議。
我失去了什麼東西?