问题标签 [objectify]
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.
google-app-engine - 如何在 Objectify 中更改键
我有个问题。我曾经有一个实体,它有一个@id private String key
. 但现在我必须将其更改为@id private Long key
. 问题是Objectify不会让我。我得到一个
IllegalStateException: Loaded Entity has name but com.XX.YYY.MyClass has no String @id
所以我不知道该怎么做。
java - 使用 Objectify 和 RequestFactory 创建具有一对多关系的对象的适当方法是什么?
使用 Objectify 和 RequestFactory 创建具有一对多关系的对象的适当方法是什么?我已经阅读了这些库的文档,还查看了一些示例项目,例如listwidget和gwtgae2011。他们都使用@Embedded
注释,这不是我想要的,因为它将所有内容都存储在一个实体中。根据文档的另一个选择是@Parent
在子类中使用属性。在我的示例中(为简单起见,删除了 getter/setter)我有实体Person
并将Organization
其定义为
和
现在,如果我正确理解了文档以便将组织与一个人持久化,我必须首先持久化组织,然后设置organizationKey
为ObjectifyService.factory().getKey(organization)
Person 对象,然后将其持久化。我已经不喜欢我必须手动遍历每个子对象,但是由于代理类的存在,使用 RequestFactory 会使一切变得更加复杂。我将如何定义组织和组织代理类 - 使用 Key<> 或没有它?我必须在 Organization 中定义类似的东西吗?
以及如何从 Datastore 加载 Organization 及其子项?我是否必须手动获取每个 Person 并在方法中填写 Organization.contactPeople @PostLoad
?
似乎我必须编写大量维护代码才能完成 JPA/JDO 在幕后所做的事情。我只是不明白:(
我是否遗漏了什么,或者这是实现它的唯一方法?
非常感谢提前回答!!!
java - 我可以在父类的 @PrePersist 处理程序中保留子对象吗?(客观化 3.1b1)
我是 Objectify 的新手,并试图实现一对多的关系。我有实体Organization和实体Person。组织具有@Transient
属性List< Person > contactPeople。类 Person 具有@Parent
属性Key< Organization > organizationKey,我可以通过 setter 设置它。
我想在组织的处理程序中坚持contactPeople@PrePersist
。为此,我需要在 Person 中设置父键。
此处的Wiki说:“您无法在 @PrePersist 回调中更新 @Id 或 @Parent 字段;此时,已经使用完整的 Key 构造了低级实体,因此可以将其作为可选参数传入。 "
我不确定这仍然是准确的信息吗?因为com.google.appengine.api.datastore.Entity
我在处理程序中获得的对象的PrePersist
键具有字面上说“no-id-yet”的键。
你将如何实现这一点?
谢谢!
2011 年 11 月 17 日更新:
在新的 Objectify4 中,我们将能够像这样进行半自动关系:
这是新版本的不断发展的设计文件。
这是个大新闻。Twig作者 John Patterson 今天加入了 Objectify 项目。
java - 为什么objectify的put()函数不抛出异常?
GAE 原生 put() 函数在失败时会引发一些异常。
但是 Objectify 的 put() 函数从不抛出任何异常,正如 Objectify JAVADOC 中所述。
这是我的问题。
如果 Objectify 的 put() 函数没有抛出异常,我如何检测在执行 put() 函数期间可能发生的错误?
java - 具有 Objectify 数据结构的应用引擎
真的很喜欢 objectify,尽管仍然在为在我的应用程序中构建数据的最佳方式而苦苦挣扎。我将很快推出一个新应用程序,并且不想被一个可能无法正常运行或执行速度非常慢的结构所困。
该应用程序将在 HRD 上,并将具有大量实体类型。出于说明目的,我将组成一些示例实体。假设该应用程序适用于快餐店。每个连锁店都是一个实体(例如麦当劳、温迪等)。每个特定的特许经营权或位置也将是一个实体。员工、订单、菜单、时间表等也将是实体。
我想最大的问题是如何设置这些实体之间的关系?我通过在每个实体中将数据存储 ID 存储为 long 来存储关系。例如,每个员工实体都会有一个长值,即他们工作所在位置的数据存储 ID,以及他们所属的链的成员。
使用这种结构,我可以使用以下语句查询来自特定餐厅的所有订单:
只是好奇以这种方式使用数据存储/对象化是否有任何问题。任何输入都会很棒!我一直在小规模使用类似的东西,似乎工作正常。理想情况下,我想要最有效的结构,我意识到这可能需要一些测试。但是,一旦部署了可能的应用程序,可能很难更改...
google-app-engine - 从 Objectify 实体获取随机条目
如何使用Objectify从 Google App Engine 数据存储中获取随机元素?我应该获取所有实体的密钥并从中随机选择还是有更好的方法?
java - 您何时在 Objectify for GAE 中注册课程?
所以这可能是一个愚蠢的问题,但是你什么时候注册课程:
目前,我在我在其他类中使用的类接口类的构造函数中执行此操作,以简化专门针对我的应用程序的数据存储的使用。但是,我收到此错误:
尝试注册种类“用户”两次
所以,我想我的问题是你在 Objectify 中注册类的频率和具体时间是多少?
谢谢!
PS这是我的整个班级:
google-app-engine - 按列表对象化查询过滤器?
是否可以使用列表进行 Objectify 查询并获取与列表匹配的所有对象的列表?例如
java - GAE:按 id 对象化删除
我正在尝试通过发送对象“主键”(具有自动增量的长 ID)的 ajax 查询从 GAE 数据存储中删除记录。
目前,我正在这样做(硬编码 key=6):
这有效:它删除具有 Key=6 的实体。但出于安全原因,我需要另一个参数(仅供参考:“parent_user”),因此只有所有者才能删除此对象。似乎Objectify.delete()
不允许传递比键更多的参数...
我怎么能解决这个问题?因为Objectify.get()
用我的可选参数+键来获取完整的对象然后将整个对象发送到 delete() 是无用的和未优化的......
java - Objectify + JSP:显示 1:N 关系
我的 bean 看起来像这样:
“utente”属性是我创建的另一个 bean 的键:一个“Fattura”只能有一个“User”,一个“User”可以有多个“Fattura”
我的 Spring MVC 控制器将管理对 Fattura 列表的请求,并将它们显示在一个简单的 jsp 中:
jsp的代码真的很简单:表中只有一个foreach循环
我的问题是:
我怎样才能显示“utente”?
我唯一拥有的是它的密钥,但我想在我的 JSP 中做类似${fattura.utente.firstName}的事情,我该怎么做?