我正在运行来自Google Developer CodeLab的GuestBook示例。
添加条目时,它会显示在问候语列表和local datastore
中到目前为止一直很好......
但是,当我重新启动应用程序时,只有某些条目仍然存在,而某些完全消失,两者都来自我的应用程序维护的列表,以及本地数据存储区,如上面的链接所示。
我正在使用Eclipse的google插件来开发和测试我的应用程序。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
您可能直接或通过启动器将--clear-datastore
参数传递给dev_appserver
。另一种可能性是删除临时目录(例如重启时),这是dev_appserver本地数据存储的默认位置。
我不知道是什么会导致某些实体消失,而且如果没有看到你的代码就不可能说出来。我也不知道“你的应用程序维护的列表”是什么意思。
答案 1 :(得分:0)
感谢您的回答。
我认为--clear-datastore
参数会删除所有值,而不仅仅是某些值。
当我重新启动时, appengine生成的文件夹中的本地数据存储文件仍然存在,而且如果这些文件被删除,我认为所有值都会消失。
代码未经谷歌codelab示例(提供的链接)修改。 我的应用程序维护的列表只是查询返回的列表并打印出来:
<%
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + Greeting.class.getName();
List<Greeting> greetings = (List<Greeting>) pm.newQuery(query).execute();
if (greetings.isEmpty()) {
%>
<p>The guestbook has no messages.</p>
<%
} else {
for (Greetingg : greetings) {
if (g.getAuthor() == null) {
%>
<p>An anonymous person wrote:</p>
<%
} else {
%>
<p><b><%= g.getAuthor().getNickname() %></b> wrote:</p>
<%
}
%>
<blockquote><%= g.getContent() %></blockquote>
<%
}
}
pm.close();
%>