【问题标题】:Linked List model in Google App Engine JavaGoogle App Engine Java 中的链表模型
【发布时间】:2013-07-24 16:24:32
【问题描述】:

我是 Java 和 Google App Engine (java) 的初学者。

我正在尝试制作一个链表类型的模型来将实体链接在一起。 例如,我希望 Class Fruit 能够持有或接收一系列水果,如 Apple、Oranges 等。 我正在考虑使用实体键作为类 Fruit 和类 Apple 或类 Orange 之间的指针。 有没有办法获取实体的密钥,并将其放入另一个实体? 更好的是,抓取多个实体键并将其放入一个实体中?

【问题讨论】:

  • 我的回答有帮助吗?

标签: google-app-engine transactions google-cloud-datastore


【解决方案1】:

看看 Objectify - https://code.google.com/p/objectify-appengine/ 他们在数据存储之上有一个非常好的包装器,可以为您处理这些操作。

【讨论】:

  • 谢谢,我会看一下,但是包装器到底是什么?像JDO吗?所以如果我使用 Objectify,我将无法做 JDO,或者我猜这将是多余的?
  • 是的,是的。它是一个替代 JDO 的 API,专为 appengine 设计。
【解决方案2】:

您也可以使用Mungo-Appengine 执行此操作,它具有类似于 MongoDB 的零配置语法:

  Mungo mungo = new Mungo(); 
  DB fruitsDB = mungo.getDB("fruitsDB");
  DBCollection fruits = fruitsDB.createCollection("fruits");

  DBObject apple = new BasicDBObject("name", "apple")
                       .put("color", "red");

  DBObject orange = new BasicDBObject("name", "orange")
                       .put("color", "orange")
                       .put("weight", 1); 

  DBObject myBasket = new BasicDBObject("name", "myBasket")
         .put("fruits", Lists.newArrayList(apple, orange)); // Google Guava

  fruits.insert(myBasket); // Done!

  DBObject theBasket = fruits.findOne("{'name' : 'myBasket'}"); // Get it
  List<DBObject> theFruits = theBasket.get("fruits");

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2011-05-06
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    相关资源
    最近更新 更多