Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GAE更改本地对象存储中的数据_Java_Google App Engine_Jdo - Fatal编程技术网

Java GAE更改本地对象存储中的数据

Java GAE更改本地对象存储中的数据,java,google-app-engine,jdo,Java,Google App Engine,Jdo,我一直在使用eclipse中的GAE开发一个应用程序,我有一堆数据对象。有时我需要更改它们的类型,例如String->Text,以便它们可以存储更多数据 对数据/对象存储进行批量更新的最快最简单的方法是什么?我知道我可能会编写Java代码来迭代每个对象,但肯定有更简单的方法吗?通常,除了手动迭代存储和更改数据之外,没有其他方法。否则无法访问该数据存储。但是,从SDK的1.3.3版开始,现在可以使用SQLite作为数据存储后端。要启用,请设置标志--use_sqlite=true 然后,您需要找到

我一直在使用eclipse中的GAE开发一个应用程序,我有一堆数据对象。有时我需要更改它们的类型,例如
String
->
Text
,以便它们可以存储更多数据


对数据/对象存储进行批量更新的最快最简单的方法是什么?我知道我可能会编写Java代码来迭代每个对象,但肯定有更简单的方法吗?

通常,除了手动迭代存储和更改数据之外,没有其他方法。否则无法访问该数据存储。但是,从SDK的1.3.3版开始,现在可以使用SQLite作为数据存储后端。要启用,请设置标志--use_sqlite=true

然后,您需要找到SQLite文件,并且应该能够使用任何SQLite客户端来操作数据


更新:正如Nick Johnson所指出的,SQLite支持仅适用于Python SDK,并且数据是经过编码的,这使得根据更改直接编辑表内容的任务相当困难。鉴于海报正在寻找一种简单的、基于Java的解决方案,这使得这个答案无效://

最好的选择是最新发布的,它有Java和Python两个版本


但是,在从字符串转换为文本的情况下,无需手动检查和更新旧实体-它们将在应用程序下次编写时修复,同时仍能正常工作。

这是错误的。SQLite后端仍然以编码协议缓冲区格式存储数据;虽然从理论上讲,可以编写一些直接更新数据的内容,但这将是不必要的复杂。另外,询问者指的是Java SDK,而SQLite后端是特定于Python SDK的。我承认我的回答是一厢情愿的,因为我宣布1.3.3 SDK支持SQLite后端。尼克实际上是回答这个问题的最佳人选之一。我将更新我的答案并向上投票:)这对我不起作用,我正在更新实体并获得异常。我们需要更多的细节来帮助。什么例外?哪里