0
EclipseLink user guide指出,當爲複合主鍵構造IdClass(不嵌入)時,它必須具有公共無參數構造函數並實現方法equals
和hashCode
。另外,它給出的例子也實現了getter和setter。EclipseLink中的IdClass的要求是什麼?
的Persistence WikiBook有參數,無無參數的構造函數,沒有getter和setter的公共構造函數,並且明確指出的EclipseLink不需要執行equals
和hashCode
。
其中哪些是真的需要?我可以使用最小的IdClass只有屬性,沒有構造函數和方法,因爲EclipseLink會爲我生成這些?這是否依賴於EclipseLink的版本?
那麼這是否意味着如果沒有指定'hashCode'和'equals',主鍵的相等性默認爲對象標識?因此,實際上包含這些方法在EclipseLink中仍然是必需的? – oulenz
基本上,是的。我建議總是指定'hashCode/equals'方法,但即使沒有它,在簡單用例(如'select * from ...'等)中它也能正常工作。 –