支持事务,但是不能在同一个事务中操作属于不同实体组的实体。
2010/12/16 EtuO <[email protected]> > 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 > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- My Blog: http://blog.csdn.net/DL88250 -------------------------------------------------------- Open Source, Open Mind, Open Sight, Open Future! -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
