2

由于我无法对 App Engine 数据存储区进行 JOIN 查询,因此我想对我的实体对象进行一些非规范化以包含计算值,从而创建类似于基于函数的索引之类的东西。

 @Persistent
 Employee manager;

 @Persistent
 // de-normalized stored join value
 Integer managerDepartmentCode;

这工作正常,但我需要手动确保在持久化对象之前刷新计算值。有没有更好的方法来做到这一点?

例如,我可以使用 @Persistent 而不是字段来注释用于获取计算值的 getter(不会有相应的 setter 或字段)?

@Persistent
Employee manager;

@Persistent
// de-normalized stored join value, calculated on the fly
Integer getManagerDepartmentCode(){
   return manager.getDepartmentCode();
}
4

1 回答 1

1

您能否将逻辑放入StoreCallback.jdoPreStore()StoreLifecycleListener.preStore

于 2009-09-04T08:31:03.780 回答