我正在使用java來編寫GAE,我已經閱讀了GAE Java低級API並且找不到我的問題的任何答案。如何獲取Google應用引擎數據存儲中的所有類型?
我想知道是否有方法可以調用一個方法/做一個JDOPL,它會返回我的數據存儲中的所有不同類型的實體。
我正在使用java來編寫GAE,我已經閱讀了GAE Java低級API並且找不到我的問題的任何答案。如何獲取Google應用引擎數據存儲中的所有類型?
我想知道是否有方法可以調用一個方法/做一個JDOPL,它會返回我的數據存儲中的所有不同類型的實體。
你可以使用數據存儲區統計API:
http://code.google.com/appengine/docs/java/datastore/stats.html
它看起來像__Stat_Kind__
統計會給你你想要的信息。
我發現了一個工作解決方案here。 (它不會在本地部署服務器工作在2010年7月9日)
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
PreparedQuery global = datastore.prepare(new Query("__Stat_Kind__"));
for(Entity globalStat : global.asIterable())
{
Long totalBytes = (Long) globalStat.getProperty("bytes");
Long totalEntities = (Long) globalStat.getProperty("count");
String kindName = (String) globalStat.getProperty("kind_name");
resp.getWriter().println("[" + kindName + "] has " + totalEntities + " entities and takes up " + totalBytes + "bytes<br/>");
}
可以使用Metadata API。例如:
Query query = new Query(Entities.KIND_METADATA_KIND);
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
Iterable<Entity> entityIterable = datastoreService.prepare(query).asIterable();
for(Entity entity : entityIterable) {
System.out.println("Entity kind: " + entity.getKey().getName());
}
謝謝!你是對的,我發現通過另一個論壇鏈接等待答案 – chin 2010-07-09 02:56:41