2014-04-11 27 views
0

以此爲例:https://cayenne.apache.org/docs/3.0/modeling-single-table-inheritance.htmlApache Cayenne Modeler建模單表繼承生成的具有不同返回類型的子類

我有一個叫做Book的ObjEntity。我已將Java類型的屬性之一更改爲使用JodaTime的DateTime類。超類_Book()使用DateTime的get/set方法正確生成。例如:public void setRelease(DateTime release)

我有另一個ObjEntity調用EBook,它將超類設置爲Book()(不同於抽象的_Book())。在_EBook類中,我看到了具有不同簽名的相同方法setRelease。例如:public void setRelease(Date release)

如何讓Modeler不創建這些方法?

回答

0

這應該不會正常發生。類生成器不會爲子類中的超類屬性生成setter/getters。它可能是DataMap XML的東西嗎?最可能的原因是電子書實體中的「釋放」ObjAttribute聲明,它會「超級」「釋放」超級實體的ObjAttribute。如果是這樣,你應該手動從XML中刪除它,並重做這些類。

+0

謝謝andrus_a!我瀏覽了DataMap XML,找到標籤下的屬性並將其刪除。這工作完美。 – Tuan

相關問題