RCB*_*RCB 5 java google-app-engine transactions objectify google-cloud-datastore
boolean r = ofy().transact(new Work<Boolean>() {
@Override
public Boolean run() {
Visit visit = ofy().load().type(Visit.class)
.filter(Visit.USER_ID, userID)
.filter(Visit.VENUE_ID, venueID).first().get();
if (visit == null)
return false;
visit.setLastRequestDate(new Date(timestamp));
ofy().save().entity(visit).now();
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
我明白了
java.lang.IllegalArgumentException:在事务内只允许祖先查询.
对于有get()电话的线路.
为什么?我只是Visit在这个交易中查询实体.我在一个事务中这样做,因为我希望所有这些都作为原子操作执行.
Pet*_*ego 19
无法在事务中执行无祖先查询.您可以在没有事务的情况下执行此操作或使用get替换查询.
你最接近的是:
| 归档时间: |
|
| 查看次数: |
5343 次 |
| 最近记录: |