我相信我通過識別哪些字段應該是散列/相等性測試的一部分,在編譯期間(使用APT)讀取某處生成equals/hashcode/toString方法的人。我找不到這樣的網絡上的任何東西(我可能是在做夢嗎?)......使用註釋生成等於/ hashcode/toString
這可能這樣做:
public class Person {
@Id @GeneratedValue private Integer id;
@Identity private String firstName, lastName;
@Identity private Date dateOfBirth;
//...
}
一個實體(所以我們要exlude一些字段,如ID)。
還是像斯卡拉案例類,即值對象:
@ValueObject
public class Color {
private int red, green, blue;
}
不僅文件變得更容易閱讀和書寫,而且還有助於確保所有屬性都是平等/哈希碼的一部分(如果您稍後添加其他屬性,而不更新相應的方法)。
我聽說APT在IDE中得不到很好的支持,但我不認爲這是一個主要問題。畢竟,測試主要由持續集成服務器運行。
任何想法,如果這已經完成,如果不是爲什麼? 謝謝
有趣的方法。不知道性能的影響是什麼。 – 2010-05-07 16:46:04