2
Objectify(2.2.3)似乎不想處理@Embedded字符串列表,儘管所有文檔似乎都認爲它應該是可能的。 字符串的處理就好像它們是需要轉換的自定義對象一樣。 的小例子:Objectify無法保存@Embedded字符串列表
public class Test {
@Id public Long id = null;
@Embedded private List<String> strings = new ArrayList<String>();
private Test() {}
public Test(String[] in) {
for (String s : in) {
strings.add(s);
}
}
這個類的一個實例被保存爲:
Key: 7
ID/Name: ahpzY2hlZHVsZS13aXRoLXlvdXItZnJpZW5kc3IKCxIEVGVzdBgHDA
strings.hash: [0, 0]
注意,字符串被哈希保存,它是一個字符串中唯一的非最終場
該代碼將失敗:
ObjectifyService.register(Test.class);
Test t = new Test(new String[] { "aa", "bb" });
Objectify ofy = ObjectifyService.begin();
ofy.put(t);
Test t2 = ofy.get(Test.class, t.id); //<-- fails with IllegalAccessException: Private fields can not be set on JRE classes.
難道我做錯了什麼嗎?是否不支持嵌入的字符串列表?