ile eski artımlı kimlikler nasıl belirlenir GAE 1.8.1 kullanıyorum ve new scattered ID system ile Objectify ile ilgili bir soruna girdim. En azından bence Objectify, emin değilim (Objectify 4 RC1'i Kullanma). Ben ..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)
onlar bir kimliği olması olarak kayıtların doğru veri deposuna koymak olsun bu alıyorum, ama şuna verilerini alırken üzerindedir.
Bu nedenle, daha önce olduğu gibi geri dönmem gerekiyor. here'u, appengine-web.xml dosyasında auto_id_policy'u değiştirerek eski ID nesnesini belirtebileceğinizi belirtir.
<auto-id-policy>legacy</auto-id-policy>
Ama çalışmıyor veya XSD da desteklerin karşı bu etiketi doğrular eğer en azından işe yarayabilecek: Ben dosyaya bu ekleyerek denedim. Bu nedenle uygulamayı dağıtamazsınız.
Merhaba, birkaç ay boyunca el değmemiş bir projede yaptığınız gibi aynı sorunla karşılaştım. App Engine SDK'nızı 1.8.1'den daha yeni bir sürüme güncellemeniz yeterlidir. App Engine SDK'sı için 1.8.1.1 olan projemde XML'in başarılı olduğunu doğrulayabilirim. –