我试图用泛型实现namedQuery(javax.persistence.Query)。这是工作的单个对象:javax.persistence.Query与泛型
public <T extends Status> T fStatusByCode(Class<T> type, String code)
{
Query nq = getManager().createNamedQuery("f"+type.newInstance().getClass().getSimpleName());
nq.setParameter("code", code);
T result=(T)nq.getSingleResult();
return result;
}
可惜这不能直接应用于得到的所有对象:
public List<T extends UtilsStatus> allStatus(Class<T> type)
{
...
List<T> lResult = (List<T>)q.getResultList();
return lResult;
}
的扩展的方法公开名单 ....似乎是可怕的错误,但我不明白。语法如何得到List<T>
?
谢谢雷神
谢谢你的这个建议,现在我使用的是CriteriaQuery中 – Thor 2011-05-24 06:46:54