我为构建服务器集成创建了一个 Atlassian Stash 插件,它使用 ActiveObjects 组件来存储数据。我有以下问题:
如果我遵循其他字段并为我的 OneToMany 字段添加一个 getter 和 setter 像这样
@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]
谷歌搜索该问题只找到了删除 setter 的解决方案,如本文中建议的那样。但是,如果配置已经存在,这将消除设置字段的可能性。我不认为删除一个 ActiveObject 并保存一个新的是要走的路。
如何解决这个问题?或者如果不可能,如何在不使用 ActiveObjects 中的 setter 的情况下更新现有对象?