Мне удалось решить эту проблему, просто используя встроенные в Objectify методы DAOBase.fact().stringToKey()
и DAOBase.fact().keyToString()
.
String serializedKey = new DAO().fact().keyToString(entity.getKey());
...
Key<Entity> entityKey = new DAO().fact().stringToKey(serializedKey);
Мои собственные проблемы возникли из-за необходимости компиляции в Java 6, потому что я имелиспользовала Key<?> entityKey = new DAO().fact().stringToKey(serializedKey)
, что было решено простым изменением типа с <?>
на <Entity>
.
Если, однако, вам нужно сериализовать необработанные низкоуровневые объекты Key, методы, упомянутые вОтвет выше теперь находится в KeyFactory, а не в Key.У вас все еще будут проблемы, потому что AppIdNamespace является временным, закрытым, и нет методов для установки этих полей в ключе после десериализации.