我試圖用泛型實現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