从4天前开始,在随机的短时间内,我部署的应用程序抛出了这个错误:
org.datanucleus.sco.backed.ArrayList无法强制转换为java.util.Set
我们正在使用GWT 2.4 / Java 1.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);
}
}
我已检查整个项目以获取对 org.datanucleus.sco.backed.ArrayList 的引用,但它不存在。
有什么想法吗?
答案 0 :(得分:1)
这可能听起来很愚蠢,但您是否尝试使用List
代替Set
?
再次检出文档后,我无法通过Collection
以外的List
找到Google的任何示例。
阅读你的问题,看起来JPA datanucleus impl确实正在使用他们自己的ArrayList实现,无论你做什么。我不知道为什么问题会随机发生......