我有一个关于客观化的快速问题 - 这可能是在实际文档中,但我没有找到任何东西,所以我在这里要求安全。做嵌套对象化交易仍然原子 - 或者他们工作
我有一个后端使用objectify,我有点冲出来 - 我想要做的是以下 - 我有一个活动组成的活动计划。目前,如果我删除了一个事件,我实际上正在编写所有的逻辑来删除事件计划中删除个别活动的方法。
我在想什么,如果我从事件计划删除方法(如果它让我这样做)调用活动删除方法,它是原子吗?
样品(这仅仅是伪代码 - 不是实际 - 案例和方法的名称可能是错误的):
// inside event plan dao
public void delete(EventPlan eventPlan) {
final Objectify ofy = Objectify.beginTransaction();
try {
final ActivityDAO activityDao = new ActivityDAO();
for (final Activity activity : eventPlan.getActivities()) {
activityDao.delete(activity);
}
ofy.getTxn().commit();
} finally {
if (ofy.getTxn().isActive()) {
ofy.getTxn().rollback();
|
}
}
// inside activity dao
public void delete(Activity activity) {
final Objectify ofy = Objectify.beginTransaction();
try {
// do some logic in here, delete activity and commit txn
} finally {
// check and rollback as normal
}
}
这是安全的呢? - 就像现在一样,它被如此摧毁的原因是因为我没有意识到实体组的问题 - 活动中的某些事物与活动本身不在同一实体组中 - 在修复这个问题之后,我把所有的事件计划中的逻辑删除和方法变得难以管理 - 是否可以将东西分解成更小的碎片或是否会破坏原子性。
谢谢
谢谢 - 这绝对是很好的知道,即使它有点不幸 – 2012-03-20 02:51:42
是的 - 这绝对是一个挑战;)祝你好运! – 2012-03-20 13:36:57