0

有教程

http://code.google.com/docreader/#p=morphia&s=morphia&t=QuickStart

但它忽略了如何获取酒店 ID 的细节。

Morphia morphia = ...;
Datastore ds = morphia.createDatastore("testDB");

String hotelId = ...; // the ID of the hotel we want to load

// and then map it to our Hotel object
Hotel hotel = ds.get(Hotel.class, hotelId);

我认为它要么是 mongo 的 java 驱动程序,要么是 morphia API。那么如何获取id呢?

4

1 回答 1

1

这与您使用 RDBMS 的方式没有什么不同。

假设您正在建立一个旅游网站。现在您有一个数据库,其中已经包含与其所属城市相关联的酒店。

现在我作为一个用户进来并请求显示纽约的所有酒店,然后你会去数据库并查询在纽约的所有酒店,然后从你的应用程序中发回一个列表,可能会呈现进入页面,然后将结果显示给用户。这个结果页面至少会包含数据库中的 id 和酒店名称。现在,一旦用户想要查看更多详细信息,比如华尔道夫酒店,他们会单击该按钮,然后将对该酒店的 Id 传递回您的应用程序。现在,您拥有的代码示例可用于加载酒店的所有详细信息,然后将它们显示给用户。

有道理?

总而言之,您要加载的记录的 Id 通常来自用户输入,您可以在其中加载 Ida 列表,然后用户可以选择一个或多个。为了获得 Ida 的列表,您通常通过一些参数进行查询,在上述情况下,通过城市名称进行查询。

现在,要继续使用上面的示例,您可以将 id 硬编码为数据库中已有的值并完成代码。

另一种选择,您可以创建酒店对象的新实例,然后像文档说的那样发出 ave 命令,然后一旦您这样做,如果您有一个映射为 ID 的属性,您可以对该属性进行获取,然后将它传递给我要的注释,然后执行读取查询。

于 2011-06-26T18:12:21.307 回答