我在CUBA-FRAMEWORK中使用服务来进行一些数据操作并收到以下错误:
ClassCastException: java.util.Date cannot be cast to com.company.gms.entity.ProductionPlanResource
该错误源于以下代码行:
matReqDate = DateUtils.addDays((Date)planQuery.getFirstResult().getStartDate(), daysOffset);
}
周围的其他代码:
Date reqShipDate = soline.getRequiredShipDate();
Date matReqDate;
TypedQuery<ProductionPlanResource> planQuery = persistence.getEntityManager()
.createQuery("select MIN(e.startDate) from mydb$ProductionPlanResource e " +
" where e.productionPlan.salesOrder.id = ?1 AND e.article.id = ?2", ProductionPlanResource.class);
planQuery.setParameter(1, soline.getSalesOrder().getId()).setParameter(2, article.getId());
if (planQuery.getResultList().size() > 0) {
matReqDate = DateUtils.addDays((Date)planQuery.getFirstResult().getStartDate(), daysOffset);
}
我尝试了这个,但是没有帮助
java.sql.Date startDate = (java.sql.Date)planQuery.getFirstResult().getStartDate();
感谢您的帮助。
最佳答案
您的TypedQuery
应该返回一个ProductionPlanResource
,但查看查询本身,它会返回MIN(e.startDate)
,它似乎是一个日期而不是ProductionPlanResource
。