org.datanucleus.sco.backed.ArrayList不能强制转换为java.util.Set

org.datanucleus.sco.backed.ArrayList不能强制转换为java.util.Set,java,google-app-engine,gwt,arraylist,google-cloud-datastore,Java,Google App Engine,Gwt,Arraylist,Google Cloud Datastore,从4天前开始,在随机的短时间内,我部署的应用程序抛出以下错误: org.datanucleus.sco.backed.ArrayList不能强制转换为java.util.Set 我们正在使用GWT2.4/Java1.7(我们最近从1.6迁移到1.7) 检索或持久化具有字符串集的实体时会发生这种情况: import java.util.HashSet; import java.util.Set; ... @PersistenceCapable(identityType = IdentityType

从4天前开始,在随机的短时间内,我部署的应用程序抛出以下错误:

org.datanucleus.sco.backed.ArrayList不能强制转换为java.util.Set

我们正在使用GWT2.4/Java1.7(我们最近从1.6迁移到1.7)

检索或持久化具有字符串集的实体时会发生这种情况:

import java.util.HashSet;
import java.util.Set;
...
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
public class DbAccount {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;
...
    @Persistent
    private Set<String> accounts;
...
    public DbAccount(SerAccount account) throws Exception {
        ...
        this.accounts= new HashSet<String>();
        ...
        key = KeyFactory.createKey(DbCuentas.class.getSimpleName(), this.id);
    }
}
import java.util.HashSet;
导入java.util.Set;
...
@PersistenceCapable(identityType=identityType.APPLICATION,detaccable=“true”)
公共类DbAccount{
@主键
@持久性(valueStrategy=IdGeneratorStrategy.IDENTITY)
私钥;
...
@持久的
私人账户;
...
公共DbAccount(SerAccount帐户)引发异常{
...
this.accounts=new HashSet();
...
key=KeyFactory.createKey(DbCuentas.class.getSimpleName(),this.id);
}
}
我已经检查了我的整个项目,查找对org.datanucleus.sco.backed.ArrayList的引用,但它不存在


有什么想法吗?

听起来可能很愚蠢,但您是否尝试过使用
List
而不是
Set

在再次查看文档后,我在Google上找不到除
列表
以外的
集合
的任何示例


阅读您的文章,无论您做什么,JPA datanucleus impl似乎都在使用自己的ArrayList实现。我不知道为什么这个问题会随机出现…

你解决了这个问题吗?我也有同样的问题。是否将这些实体作为另一个实体的一部分获取?含义:DbAccount是否存在于另一个实体中?我没有得到足够一致的这些错误来调试它。当我们在服务器上有更高的负载时,它们会随机出现。这变得越来越频繁。“解决方案”(至少98%)是将我们的实例从F1升级到F4。很高兴看到你回来回答我的评论(尽管已经快两年了;)!:D针对此类问题的奇怪错误消息!