2010-09-05 68 views
2

我與Spring Roo的工作,我需要覆蓋Roo的remove()方法在Roo_Entity.aj文件。當我試圖刪除我的實體時,我收到了很多外鍵約束錯誤,儘管我認爲我的JPA註釋是正確的。覆蓋Spring Roo的實體法

我想要做的是覆蓋在Roo_Entity.aj文件刪除()方法,手動檢查外鍵和刪除有問題的記錄,我的事務提交之前。

我在我的.java文件中創建了自己的Remove()方法,但是Roo沒有自動更新Roo_Entity.aj文件,我不得不手動刪除和編輯.aj文件。 Roo是否應該認識到我已在我的.java文件中手動創建了Remove()方法並相應地管理Roo_entity.aj文件?

在此先感謝!

回答

2

是,在Roo shell應該看到,你在你的實體類實現remove()方法,並從Roo_Entity.aj自動將其刪除。有些事情要檢查它是否不適合你:

  • Roo Shell是否正在運行?它必須爲了管理你的方面。
  • 它刪除(),無法刪除(),對不對?
  • 簽名是否相同? public void remove()?
  • 您是否將更改保存到磁盤? shell監視文件系統,因此除非您保存,否則無法看到您的更改。
  • 如果您使用的是SpringSource工具套件:您是否嘗試過的「AspectJ的重構」 - 在IDE>「推在......」重構?

通常,您不應該手動編輯Roo _ *。aj文件。

+0

謝謝您的回答。我原本是在編程時使用Roo,但是我丟失了所有的方面文件。如果您有編譯錯誤,我相信它會刪除所有方面。我沒有打開它。我遵循你的列表,並且管理實體文件中的remove方法。謝謝! – Ryn 2010-09-23 00:49:37