Caused by: java.lang.IllegalArgumentException: can't operate on
multiple entity groups in a single transaction. found both Element {
  type: "CityNum"
  name: "013001"
}
 and Element {
  type: "ScheduleProcess"
  name: "013001"
}

        at
com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:
36)
        at com.google.appengine.api.datastore.DatastoreApiHelper
$1.convertException(DatastoreApiHelper.java:98)
        at
com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
69)
        at com.google.appengine.api.datastore.FutureHelper
$CumulativeAggregateFuture.get(FutureHelper.java:136)
        at com.google.appengine.api.datastore.FutureHelper
$TxnAwareFuture.get(FutureHelper.java:213)
        at
com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
67)
        at
com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:
71)
        at
com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:
58)
        at
com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:
55)
        at
org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java:
64)
        ... 86 more

实现类代码:
/**
     * @see
org.ertuo.taoplugin.facade.TransactionOperation#nestTrans(java.lang.Object[])
     */
    public void nestTrans(Object... objects) {
        String id = (String) objects[0];
        CityNum cn = cityNumDao.get(id);
        ScheduleProcess sp = scheduleDao.get(id);
        cityNumDao.delete(cn);
        scheduleDao.delete(sp);
        logger.info("id[" + id + "]对应的城市和任务删除完毕");
    }

接口代码:
/**
 * 事务性操作接口
 * @author mo.duanm
 * @version $Id: TransactionOperation.java, v 0.1 2010-12-16 下午
05:22:23 mo.duanm Exp $
 */
public interface TransactionOperation {

    /**
     * 嵌套事务
     * @param objects
     */
    @Transactional
    public void nestTrans(Object... objects);

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to