写入数据存储区是否会失败?

时间:2015-04-20 06:52:03

标签: java google-app-engine objectify

假设我正在创建一个这样的实体:

Answer answer = new Answer(this, question, optionId);
ofy().save().entity(answer);

我应该检查写入过程是否成功?

说我想做另一个动作(增加一个计数器),我应该做一个包含写作过程的交易吗?

另外,我如何检查写作过程是否成功?

1 个答案:

答案 0 :(得分:2)

保存时出错会产生异常。请记住,由于您没有调用now(),因此您已启动异步操作,并且会话关闭时可能会发生实际异常(例如,请求结束)。

是的,如果要增加计数器,则需要启动包含加载,增量和保存的事务。还要记住,即使事务成功,事务也可以重试,因此一个天真的事务可能会超额计算。如果您需要严格精确的增量,则模式要复杂得多。所有数据库都存在这个问题的一些变化。