其實問題在標題中。如何在實體的equals方法中使用@DiscriminatorColumn?
實體將被映射爲系統中的不同對象(博客節點,註釋等)註釋 所以我希望能夠使用此列(讀取它的值,以便爲特定類型的評論對象類型構建評論樹。 此外,我想在equals
和hashcode
方法添加@DiscriminatorColumn
。
什麼是做到這一點的最好方法是什麼?
其實問題在標題中。如何在實體的equals方法中使用@DiscriminatorColumn?
實體將被映射爲系統中的不同對象(博客節點,註釋等)註釋 所以我希望能夠使用此列(讀取它的值,以便爲特定類型的評論對象類型構建評論樹。 此外,我想在equals
和hashcode
方法添加@DiscriminatorColumn
。
什麼是做到這一點的最好方法是什麼?
此問題之際,只要您加載實體鑑別值總是空。所以,如果你嘗試添加鑑別值的等於你可能會得到空指針,所以這樣做有兩種方法: -
insert="false" update="false"
添加到該屬性上,這將使您的屬性爲只讀,然後爲該屬性添加等於。如: -
private String tempDiscriminatorValue;
<property name="tempDiscriminatorValue" type="string" column="DISCR_VAL" insert="false" update="false"/>
DiscriminatorColumns被繼承,A類的一個實例是含蓄不等於B類,所以我不明白你爲什麼要這麼做?
equals()方法通常會做,
if (object instanceof Foo) {
return ...
} else {
return false;
}
我需要檢查邏輯equivelence(評論類型BlogComment和文本X等於註釋類型BlogComment和文本X) – Pilgrim
感謝性反應,但我認爲,它會更容易手動添加類型字段,而不是使用繼承。看來我的情況並不是使用繼承的最佳方式。 – Pilgrim