0

我正在使用 GAE Java 开发一个 Web 应用程序。我以这种方式创建了实体 Repair 和 LineRepair:

public static void createOrUpdateRiparazione(Key key, String plate,
        String mechanicname, String type, String km, String description,
        String date, String price, String qta) {
    Transaction txn = Util.getDatastoreServiceInstance().beginTransaction();

    try {

        Entity repair = new Entity("Repair", key);
        repair.setProperty("plate", plate);
        repair.setProperty("date", date);
        repair.setProperty("status", "Created");
        repair.setProperty("km", km);
        repair.setProperty("mechanic", mechanicname);
        Util.getDatastoreServiceInstance().put(repair);

        Entity lineRepair = new Entity("LineRepair", repair.getKey());
        lineRepair.setProperty("type", type);
        lineRepair.setProperty("description", description);
        lineRepair.setProperty("price", price);
        lineRepair.setProperty("qta", qta);
        lineRepair.setProperty("repairID",
                String.valueOf(repair.getKey().getId()));
        Util.getDatastoreServiceInstance().put(lineRepair);

        txn.commit();
    } finally {
        if (txn.isActive()) {
            txn.rollback();
        }
    }
}

鉴于车牌和维修日期,现在我不会搜索汽车的维修。这是因为我想添加一个条件,如果该日期已经有维修,则添加 LineRepair。我正在使用Code Lab Project的类 util 。这里有实体汽车和用户。谢谢你的帮助

编辑:他们传递的钥匙是汽车的钥匙

4

1 回答 1

0

您需要有一个带有牌照和维修日期的复合索引,然后是一个函数来查询您的维修实体以获取给定的牌照和维修日期值。如果您收到查询响应,请使用 getkey() 查询结果并将其传递给函数以创建相应的 linerepair 实体。

于 2013-06-30T11:50:30.737 回答