ビルド サーバーの統合のために Atlassian Stash プラグインをフォークしました。このプラグインは、データの保存に ActiveObjects コンポーネントを使用します。次の問題があります。
他のフィールドに従って、このように OneToMany フィールドにゲッターとセッターを追加すると
@OneToMany
TestMapping[] getTestMapping();
void setTestMapping(TestMapping[] powerMappings);
エンティティを使用すると、次の例外が発生します。
[INFO] [talledLocalContainer] Caused by: java.lang.RuntimeException: Unrecognized type: [Lsome.package.TestMapping;
[INFO] [talledLocalContainer] at net.java.ao.types.TypeManager.getType(TypeManager.java:68) ~[na:na]
[INFO] [talledLocalContainer] at net.java.ao.schema.SchemaGenerator.getSQLTypeFromMethod(SchemaGenerator.java:481) ~[na:na]
問題をグーグルで検索すると、この投稿で提案されているようにセッターを削除する解決策しか見つかりませんでした。ただし、構成が既に存在する場合は、フィールドを設定する可能性がなくなります。ActiveObject を削除して新しいものを保存することは、ここに行く方法ではないと思います。
この問題を解決するにはどうすればよいですか? または、可能でない場合、ActiveObjects でセッターを使用せずに既存のオブジェクトを更新する方法は?