2013-01-04 50 views
2

我有一個@Entity -annotated Model類在我的Play應用程序,我填入Set以確保保存到數據庫之前的唯一性。由於對象尚未保存,因此它們沒有鍵值。所以比較必須基於它們的屬性。在Play Framework的@Entity Model類中實現equals()和hashCode()可以嗎?

我看了JPABase中的equals()實現,並且它似乎明確地讓所有實體對象如果還沒有密鑰都是不相等的。

所以,我的問題(S):

  1. 是否還好實現我Modelequals()hashCode()
  2. 如果是這樣,那麼最好/正確的方法是什麼?我應該撥打super.equals(),我該如何處理結果?

回答

1

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

相關問題