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.