2010-09-05 7 views
2

Je travaille avec Spring Roo et j'ai besoin d'écraser la méthode Remove() de Roo dans le fichier Roo_Entity.aj. Je reçois beaucoup d'erreurs de contrainte de clé étrangère lorsque j'essaie de supprimer mon entité, bien que je pense que mes annotations JPA sont correctes. Ce que j'essaie de faire est d'écraser la méthode Remove() dans le fichier Roo_Entity.aj, pour vérifier manuellement les clés étrangères et supprimer les enregistrements incriminés avant que ma transaction valide.Ecraser la méthode Spring Roo Entity

J'ai créé ma propre méthode Remove() dans mon fichier .java, mais Roo ne met pas à jour le fichier Roo_Entity.aj automatiquement et j'ai dû supprimer et éditer manuellement le fichier .aj. Roo devrait-il reconnaître que j'ai créé manuellement une méthode Remove() dans mon fichier .java et gérer le fichier Roo_entity.aj en conséquence?

Merci d'avance!

Répondre

2

Oui, Roo Shell devrait voir que vous avez implémenté remove() dans votre classe d'entité et l'enlever automatiquement de Roo_Entity.aj. Certaines choses à vérifier si cela ne fonctionne pas pour vous:

  • Le Roo Shell fonctionne-t-il? Il doit pour gérer les aspects pour vous.
  • C'est supprimer(), pas supprimer(), non?
  • La signature est-elle identique? public void remove()?
  • Avez-vous enregistré les modifications sur le disque? Le shell surveille le système de fichiers, donc à moins que vous ne l'enregistriez, vous ne pouvez pas voir vos changements.
  • Si vous utilisez SpringSource Tool Suite: Avez-vous essayé le refactoring "AspectJ Refactoring" -> "Push In ..." dans l'EDI?

En général, vous ne devriez jamais avoir à éditer manuellement les fichiers Roo _ *.

+0

Merci pour votre réponse. Au départ, j'avais Roo en cours de codage, mais j'ai perdu tous mes fichiers d'aspect. Je crois qu'il supprime tous les aspects si vous avez une erreur de compilation. Je ne l'ai pas rallumé. J'ai suivi votre liste, et il a géré la méthode remove dans le fichier d'entité. Merci! – Ryn