问题标签 [jdo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JDO,GAE:按子键加载对象组
我拥有两个对象之间的一对多关系:
和
我创建了一个 PollInfo 类的实例并使其持久化。没关系。但是后来我想通过 AccessInfo 键加载这个组,我得到了 NucleusObjectNotFoundException 异常。是否可以通过孩子的钥匙加载一个组?
java - GWT + JDO + ArrayList
我正在开发的程序中得到一个 Null ArrayList。出于测试目的,我创建了这个仍然存在相同问题的非常小的示例。我已经尝试过不同的主键,但问题仍然存在。
有什么想法或建议吗?
1-员工类
2-员工服务
java - 从 Google App Engine 中的集合中删除不会被持久化
我在Problems while save a pre-persisted object in Google App Engine (Java)中看到了一个类似的问题,实际上我没有在我的持久性管理器上调用 close() 。但是,我现在打电话关闭,但我的对象更新没有被持久化。具体来说,我想从集合中删除一个元素,并保存那个较小的集合。这是与持久性管理器相关的代码,它不会引发异常,但不会保存我的数据:
这是 UserProfileInfo 类的相关部分:
java - 按键删除实体而不首先在应用引擎中获取它(使用 JDO)
有没有办法删除实体而不必先从数据存储中获取它?我假设我已经拥有实体的密钥或 ID。我在想类似的东西deleteObjectById
会类似于getObjectById
on PersistenceManager
。
我能想到的最接近的方法是使用Query.deletePersistentAll()
(如此处所示)并指定仅依赖于密钥的查询,但我不知道这是否会在删除实体之前获取实体。
谢谢
编辑:我知道如何使用低级 API 以及 python API 来做到这一点。我想知道是否有办法在 JDO 层中做到这一点。
google-app-engine - GWT 应用引擎中的代码共享
我有一个员工类
我已将 JDO 用于应用程序引擎。现在我想在服务器和客户端之间共享这段代码。我应该把这个放在哪个包里。事实上,我已经尝试过两种方式。都没有解决。如果您已经完成了此类代码,请分享。
java - 如何在 App Engine 中建模多对多关系?
我有一个关于如何在 App Engine 中建模多对多关系的问题:
一个博客条目可以有很多标签,一个标签可以应用于很多博客条目。
我看到了几个场景:
使用一组字符串作为博客条目的属性。
- 这使我可以使用标签轻松查询条目
- 这不允许我获取所有标签及其权重(它们适用于多少条目)
在条目和标签类之间使用无主关系(条目类中标签的键集,反之亦然)
- 这允许我获取所有标签及其权重
- 这更容易维护
- 设置属性是延迟加载的,还是我每次都会获取整个对象图?(获取一个Entry,它获取多个Tags,每个Tags依次获取多个Entries)
使用 1. 但单独维护标签及其权重的数据
- 这在标签数据和条目中的标签之间存在同步问题
任何输入和指针将不胜感激。我认为这是一个很常见的情况,但我还没有看到任何好的解决方案。
java - 在 GAE 中持久化数据 - 实体不能有 Long 主键并且是子对象
我们很难在 Google App Engine 项目中保存数据,我们有“客户”、“预订”和“房间”类。
我们的目标是映射它们之间的关系,从 Customer 到 Reservation 的一对多关系和从 Room 到同一个 Reservation 的一对多关系。
我们得到的例外是:
no.hib.mod250.asm2.model.Reservation.id 的元数据错误:不能有 java.lang.Long 主键并且是子对象(拥有字段是 no.hib.mod250.asm2.model.Customer .res)。
我们的代码如下:
客户.java
房间.java
预订.java
java - 在 Google Appengine 上使用 JDO 交换列表中的两个元素
我有一个具有 ChildEntities ArrayList 的 TestEntity。他们加入了一个拥有的关系。我想从数据存储中获取实体,更新子实体中的 int 字段,然后交换两个子实体的位置。但是,一旦我交换实体,似乎对 int 字段的更新就被删除了。我是否不允许将 JDO 持久对象存储在临时变量中以进行交换?这是我的测试代码,后面是实体本身的定义。当我在调试器中单步执行代码时,只要我将第二个值复制到列表中的位置 0,我的 ChildEntity 就会被覆盖或重置或其他任何东西。恐怕我缺少一些关于 JDO 工作原理的东西。
java - 坚持不懈;或将旧版 webapp 移动到非关系存储
假设您有一个大型应用程序,其数据访问层绑定到 SQL 您想要提供其他非 sql DAL,例如 GoogleAppEngine 实例或基于 XML 的备份。您将如何处理这种迁移到不同的存储范例但灵活性有限,因为它是遗留的。
我可能在这里遗漏了信息,但我想到的一个解决方案是首先将当前的旧 DAL 重写为标准 API 库,例如 JDO;从那里开始,根据特定技术的学习曲线,与任何存储接口连接都只是时间问题。
与或非?