支持事务,但是不能在同一个事务中操作属于不同实体组的实体。

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.

Reply via email to