save()注釈で注釈が付けられた任意の型にメソッドを導入する必要があり@Persistentます。Person personSaved = person.save()このメソッドは、単にオブジェクトを基礎となるデータベースに保存し、オブジェクトのコピーをその行 ID (例: )とともに返します。
この目的のために、指定されたアスペクトを AspectJ を使用して記述しました (PersistentObjectはインターフェイス提供save()メソッドです)。
public aspect PersistencyAspect {
declare parents: (@Persistent *) implements PersistentObject;
public PersistentObject PersistentObject.save() {
// perform the save operation and return a copy of this
}
}
上記のコードは良さそうです。しかし、私の問題はsave()メソッドの戻り値の型です。@Persistentの代わりに (例: Person)で注釈が付けられた実際の型として宣言したいと思いPersistentObjectます。
私の問題の解決策はありますか? 前もって感謝します。