我有以下类结构
public class Emp implements java.io.Serializable {
....
}
public interface EmployeeDAO {
public List<Emp> findAllEmployees();
}
public class EmployeeDAOImpl implements EmployeeDAO {
public List<Emp> findAllEmployees() {
CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(Emp.class));
return getEntityManager().createQuery(cq).getResultList();
}
...
}
我遇到的问题是
return getEntityManager().createQuery(cq).getResultList();
以上行给出了以下错误,原因可能是什么?
incompatible types; found: interface java.util.List<java.lang.Object>,
required: interface java.util.List<test.entity.Emp>
相同的代码适用于其他更高版本的Java。 我目前的JDK是1.6
答案 0 :(得分:4)
您没有告诉CriteraQuery
它将返回哪种类型。
public List<Emp> findAllEmployees() {
CriteriaQuery<Emp> cq = getEntityManager().getCriteriaBuilder().createQuery(Emp.class);
cq.select(cq.from(Emp.class));
return getEntityManager().createQuery(cq).getResultList();
}