草庐IT

java - JDO - 更新对象

我正在试验GoogleAppEngine和持久选项JDO。我想知道是否可以将transient对象映射到持久对象?或者使用transient对象来更新持久对象?在编码示例中,我看到了以下用于更新对象的代码:publicvoidupdateEmployeeTitle(Useruser,StringnewTitle){PersistenceManagerpm=PMF.get().getPersistenceManager();try{Employeee=pm.getObjectById(Employee.class,user.getEmail());if(titleChangeIsAuth

java - 在谷歌应用引擎数据存储中查询聚合 ("group by"的替代策略

无法查询AppEngine数据存储以获取聚合结果。例子:我有一个名为“Post”的实体,其中包含以下字段:Keyid,Stringnickname,StringpostText,intscore我的数据存储中有许多不同的昵称和每个昵称的许多帖子。如果我想要一个总分前十昵称的排行榜,我通常会有如下sql:selectnickname,sum(score)assumscorefromPostgroupbynicknameorderbysumscorelimit10这种类型的查询在googleappenginedatastorejavaapi(jdo或jpa)中是不可能的。我可以使用哪些替代

java - 您如何在 Java 中使用 Google App Engine 数据存储中的列表属性?

要放置在数据存储中的对象将具有一组标签。publicclassModel{ListtagList...}在Python中,GoogleAppEngine具有列表属性的概念。Java中的等效概念是什么(如果存在),您将如何在Java、JPA和/或JDO中使用列表属性? 最佳答案 请参阅我的博文:EfficientKeywordSearchwithRelationIndexEntitiesandObjectifyforGoogleDatastore.它讨论了使用关系索引实体和Objectify实现列表属性搜索。总结:Queryquery

java - App Engine Java JDO 中的单元测试 XG 跨组事务

我在AppEnginejavajdo中有一个跨组事务。它在本地开发应用引擎服务器上运行良好。但是,从单元测试中,我得到一个java.lang.IllegalArgumentException:transactionsonmultipleentitygroupsonlyallowedinHighReplicationapplications。是否可以使用LocalServiceTestHelper模拟高复制应用程序?我正在使用1.6.6。这是我的类(class),您可以按原样运行它以重现:publicclassDs2Test{privatefinalLocalServiceTestHel

java - GWT 编辑器和 GAE 数据存储

GWT有一个EditorFramework,粗略检查后,它看起来非常像SpringMVC/Forms如何处理后端数据对象和前端UI组件之间的数据绑定(bind)。我正在编写我的第一个GWT/GAE应用程序,想知道是否有任何方法可以结合GAE的JDO/Atomic库使用此编辑器框架,这是您针对O编写代码的API/R在您的应用和底层数据存储之间映射。这两个框架是互补的还是相互排斥的?如果他们可以一起工作,有人可以提供一个小代码示例,说明我如何使用它们来填充HTML吗?包含姓名列表或其他基本但实用的内容的框。我想这可能涉及PersonPOJO代表一个人(并且有一个Stringname属性),

java - App 引擎标识符。 key 与 ID

为了在GoogleAppEngine中识别我的JDO对象,我使用了Key类型。它工作正常,但是当我需要通过url传递它时,它会变得有点长。例如:http://mysite.com/user/aghtaWx1LWFwcHIZCxIGTXlVc2VyGAMMCxIHTXlJbWFnZRgHDA在我的管理查看器中查看我的实体时,我可以看到数据存储还为我的实体对象设置了一个“id”,它似乎是一个递增的数值,与Key字符串相比非常短。我可以用它来获取关于我的对象的信息吗?我该怎么做呢?我尝试将getObjectbyId()与id而不是key一起使用……它不起作用。有什么想法吗?

java - 持久化 Java 对象的最简单方法是什么?

现在我有java程序,其类当前是POJO并存储在volatile内存中。这些都需要坚持。据我了解,两个流行的选择是JDO和JavaPersistenceAPI。对于对SQL、Torque等知之甚少的人来说,将持久性添加到我的程序数据中的最简单方法是什么? 最佳答案 序列化到文件系统的传统方法是使用JavaSerialisation.但是你需要实现Serializable无处不在。一个更简单的解决方案是使用XStream序列化为XML(然后转储到文件系统).您不需要实现任何接口(interface),并且大多数东西都可以序列化和反序列

java - 生成自动 Id IdGeneratorStrategy

我正在使用GooleAppEngine构建我的RESTAPI,我已经将我的类标记为PersistenceCapable并且我还定义了我的@PrimaryKey并且还标记了作为@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY),我也已经生成了端点。但是当我在终端窗口中键入curl命令以插入新实体或注册表时,它不起作用。这是代码:@PersistenceCapable(identityType=IdentityType.APPLICATION)classStudent{@PrimaryKey@Persistent(valueStr

maven - org.datanucleus.exceptions.NucleusUserException : Error : Could not find API definition for name "JDO"

我试图通过hcatalog访问mapreduce中的配置单元表并面临以下异常:我用谷歌搜索并试图找到根本原因,但没有成功,所以我在这里发布我的查询。2016-12-0115:48:35,855INFO[main]metastore.HiveMetaStore(HiveMetaStore.java:newRawStore(564))-0:Openingrawstorewithimplementationclass:org.apache.hadoop.hive.metastore.ObjectStore2016-12-0115:48:35,857INFO[main]metastore.Ob

android - 尝试在 Android Studio 上运行 Enhance

我正在尝试在AndroidStudio中设置jdo/jpa,并遵循了上一个问题的答案here.当我尝试运行增强任务时,我得到:Error:Executionfailedfortask':backend:appengineEnhance'.AnerroroccurredenhancingDataNucleusclasses.日志文件显示:java.lang.RuntimeException:Unexpectedexceptionatcom.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76)atcom.goo