Używam GAE 1.8.1 i trafiłem na problem z Objectify z new scattered ID system. Przynajmniej myślę, że to Objectify, nie jestem pewien (Korzystanie z Objectify 4 RC1). Dostaję to ..Jak określić starsze przyrostowe identyfikatory za pomocą Java
Caused by: java.lang.IllegalArgumentException: id cannot be zero
at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:52)
at com.google.appengine.api.datastore.KeyFactory.createKey(KeyFactory.java:47)
at com.googlecode.objectify.Key.<init>(Key.java:91)
at com.googlecode.objectify.Key.create(Key.java:39)
at com.googlecode.objectify.impl.cmd.LoadTypeImpl.id(LoadTypeImpl.java:77)
Zapisy dostać umieścić w magazynie danych poprawnie, ponieważ mają one identyfikator, ale jest to na pobieranie danych na zewnątrz.
Muszę więc wrócić do tego, co było wcześniej. Podano w nim here, że można określić generowanie identyfikatora starszego z modyfikacją auto_id_policy w appengine-web.xml. Próbowałem dodanie tego do pliku:
<auto-id-policy>legacy</auto-id-policy>
Ale to nie działa, albo przynajmniej to może działać, jeśli XSD to sprawdza przed podpór ten tag. Z tego powodu nie można wdrożyć aplikacji.
Witam, napotkałem ten sam problem, co w przypadku projektu, który był nietknięty przez kilka miesięcy. Wystarczy zaktualizować pakiet SDK App Engine z wersji 1.8.1 do nowszej wersji. Mogę potwierdzić, że w moim projekcie, który ma 1.8.1.1 dla App Engine SDK, twój XML sprawdza się poprawnie. –