2011-02-03 74 views
1

我問「Is it really worth implementing toString() for entity classes?」。我接受的answer演示了實體類寫入實體的「名稱」或「ID」(並且,我不會說其他)的toString()方法的實用性。但是這要求實體具有「名稱」或「ID」。如果一個實體類總是有一個ID字段

所以,一個實體類總是有一個ID字段。如果它不自然有一個,你應該添加一個,給定it is useful only for debugging? A private final long,也許?那can be done elegantly and efficiently

我不是一定要談論數據庫支持的類。這裏由實體我的意思是有不變的(非空X)一類

x.equals(y) == (x == y) 

回答

0

的ID幾乎不變地是指唯一標識一個持久記錄的字段,不管任何其他有在從持久記錄水化的對象的實例之間改變。

所以,你的問題的簡短答案是,不,一個「域」類不一定要有一個ID字段。大多數人會這樣做,因爲你幾乎肯定會堅持你的域名,在這種情況下,最好的做法是(跳過名字,姓氏,DOB和SSN等複合PK的褲子),但是如果你寫一個只是在內存中存放東西的類,也許是視圖幫助器或業務邏輯類,不要打擾。

相關問題