尝试从数据存储区实体获取数据时获取异常。 这是我的代码:
PersistenceManager pmf = PMF.get().getPersistenceManager();
try {
Query query = pmf.newQuery(DocHeader.class);
@SuppressWarnings("unchecked")
List<DocHeader> docHeaders = (List<DocHeader>) query.execute();
任何人都可以在这个问题上提供帮助。
这是我的对象
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class DocHeader {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.SEQUENCE)
private Long docHeaderId;
@Persistent
private Double previousPayment;
@Persistent
private Double currentBalance;
@Persistent
private Double totalAccountBalance;
@Persistent
private String accountRepresentative;
@Persistent
private Double minPayment;
}
答案 0 :(得分:0)
例外
ClassCastException Long无法强制转换为double
表示您在数据存储区中至少保存了一个DocHeader
实体,其中您保存了一个实体,其中一个属性为Long
,但在您的Java实体中,您将其指定为Double
当您想查询它并将其转换回Java类时,尝试转换Long
- &gt; Double
抛出异常。
您可以执行的操作是使用低级数据存储api读取所有DocHeader
个权限,并将Long
属性更改为Double
,这些属性应为Double
in {首先,然后重新保存这些实体。或者,如果当前实体不重要(例如测试数据),只需删除它们即可。