2

私は Spring Roo を使用しており、Roo_Entity.aj ファイルで Roo の Remove() メソッドを上書きする必要があります。JPA アノテーションは正しいと思いますが、エンティティを削除しようとすると、多くの外部キー制約エラーが発生します。

私がやろうとしているのは、Roo_Entity.aj ファイルの Remove() メソッドを上書きして、外部キーを手動でチェックし、トランザクションがコミットされる前に問題のあるレコードを削除することです。

.java ファイルに独自の Remove() メソッドを作成しましたが、Roo は Roo_Entity.aj ファイルを自動的に更新せず、手動で .aj ファイルを削除して編集する必要がありました。Roo は、.java ファイルに手動で Remove() メソッドを作成したことを認識し、それに応じて Roo_entity.aj ファイルを管理する必要がありますか?

前もって感謝します!

4

1 に答える 1

2

はい、Roo シェルは、エンティティ クラスに remove() が実装されていることを確認し、Roo_Entity.aj から自動的に削除します。うまくいかない場合は、次の点を確認してください。

  • Roo Shell は実行されていますか? アスペクトを管理するために必要です。
  • Remove() じゃなくて remove() ですよね?
  • 署名は同じですか?public void remove()?
  • 変更をディスクに保存しましたか? シェルはファイルシステムを監視するため、保存しない限り変更を確認できません。
  • SpringSource ツール スイートを使用している場合: IDE で「AspectJ Refactoring」->「Push In...」リファクタリングを試しましたか?

通常、Roo_*.aj ファイルを手動で編集する必要はありません。

于 2010-09-06T10:50:15.187 に答える