You can not operate on two entities in single transaction unless both are
entity groups.
First delete CityNum  in one transaction and then delete ScheduleProcess  in
different transaction,








2010/12/16 EtuO <nbaer...@gmail.com>

> 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<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>

-- 
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