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;
        }
    });
and I get
java.lang.IllegalArgumentException: Only ancestor queries are allowed inside transactions.
for the line with the get() call.
why? I'm only querying Visit entity in this transaction.
I'm doing this in a transaction, because I want all this to be performed as atom operation. 
No way to do ancestor-less query inside a transaction. Either you do it without transactions or replace query with get.
The closest that you can do is:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With