簡體   English   中英

在Play框架的@Entity Model類上實現equals()和hashCode()可以嗎?

[英]Is it okay to implement equals() and hashCode() on @Entity Model classes in Play Framework?

我的Play應用程序中有一個@Entity注釋的Model類,將其填充到Set以確保在保存到數據庫之前的唯一性。 由於尚未保存對象,因此它們沒有鍵值。 因此,比較必須基於它們的屬性。

我偷看了JPABase中的equals()實現,它似乎明確地使所有實體對象不相等,如果它們還沒有鍵。

因此,我的問題是:

  1. 在我的Model子類中實現equals()hashCode()嗎?
  2. 如果是這樣,最好/正確的方法是什么? 我應該調用super.equals() ,如何處理結果?

我不建議在應用程序模型類中實現equalshashCode 最后,數據庫應確保唯一性。 從應用程序的角度來看,唯一性幾乎總是施加在某個字段上,例如用戶名或電子郵件等。我從未遇到過通過hashCodeequals方法在整個對象上計算數據實體唯一性的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM