我正在創建兩個對象類的多對多映射。我是否需要編寫hashCode()
和equals()
方法;如果是這樣,NetBeans自動生成代碼的幫助?netbeans能否爲映射自動生成正確的hashCode()和equals()方法?
2
A
回答
0
是的,您可以使用IDE生成的哈希碼來比較兩個實例。你的情況足以讓你的情況更爲重要的是平等的方法,注意比較平等的參數。自動生成的代碼將比較所有參數,但您可能只需要幾個參數來唯一標識它。
假設您需要查看從DB中讀取的記錄是否屬於同一個實體,只需比較equals方法中的主鍵即可。選擇平等標準完全是你的自由裁量權。
3
相關問題
- 1. 使用自動生成的hibenate實體對象的ID在equals和hashCode方法
- 2. Java:自動equals()和hashCode()
- 3. 我們是否需要HyperJAXB生成的hashCode&equals方法?
- 4. 如何在jaxws中使用wsimport生成equals()和hashcode()方法
- 5. 使用equals()和hashCode()方法從DTD生成Java類
- 6. 是否有可能爲使用jaxb生成的類生成equals和compareTo方法
- 7. 是否有可能爲Java類自動生成Hibernate映射?
- 8. 重寫的hashCode equals方法
- 9. FluentNHibernate自動映射不生成映射
- 10. 重寫的hashCode()和equals()方法
- 11. Java對象中的HashCode和Equals方法
- 12. equals和hashCode的泛型反射助手方法
- 13. 正確的方法:映射ViewModel和DataModel
- 14. 自動生成ID和映射_id NEST
- 15. toString,hashcode和equals方法內部接口
- 16. 在java中重寫hashcode和equals方法?
- 17. 如何實現hashCode和equals方法
- 18. SCJP hashCode()和equals()方法混淆
- 19. Overrding equals和hashCode
- 20. Java - equals和hashcode
- 21. Map HashCode和Equals
- 22. 是否可以更改爲equals()和hashCode()的IntelliJ的代碼生成模板
- 23. Intellij插件生成getter/setter,hashcode/equals,toString
- 24. 是否必須覆蓋最終類的equals()和hashCode()方法
- 25. 我的equals和hashcode是否必須基於compareTo方法實現?
- 26. java中的哪些類正在重寫equals()和hashCode()方法?
- 27. 對象爲不Hashcode方法映射鍵和等於
- 28. 具有equals和hashCode方法的通用接口,有可能嗎?
- 29. 如何獲取checkstyle以跳過由eclipse生成的equals()和hashcode()方法?
- 30. 正確實現hashCode()方法
你只當你執行比較兩個對象需要'equals'和'hashCode'。 – eatSleepCode
「它需要hashcode和equals方法嗎」如果你的意思是「do * I *必須實現它們」,那麼這取決於你想要做什麼;請參閱[爲什麼我需要重寫Java中的equals和hashCode方法?](http://stackoverflow.com/questions/2265503/why-do-i-need-to-override-the-equals-and-hashcode-方法-在-java的)。 –
由於您使用'ManyToMany'映射,因此您的參數之一將是對象的集合,因此從技術上講,您將需要equals和hashcode方法。因此,您需要決定「equals」方法的實現,也許您可以使用生成的'hashCode'方法。 – eatSleepCode