我有幾個功能...如何鞏固這些功能集成到一個通用的
@Override
public List<ContentType> findAllContentTypes() {
return this.emf.createEntityManager()
.createNamedQuery("ContentType.findAll", ContentType.class)
.getResultList();
}
@Override
public List<Status> findAllStatus() {
return this.emf.createEntityManager()
.createNamedQuery("Status.findAll", Status.class)
.getResultList();
}
其實我對這些是獲得各種不同的東西12。我想採取這些功能,並使一個通用函數來取代所有這些。
我能想到做到這一點的最佳方式是做類似findAll("Language")
的事情。我開始做...
public List<T> findAll(String objectName) {
return this.emf.createEntityManager()
.createNamedQuery(objectName+".findAll", objectName)
.getResultList();
}
的問題(比我的IDE與扔不知道如何處理T
做一個合適的除外)是,我不知道如何把這個字符串,並將它傳遞到位ContentType.class
。
我錯過了什麼,阻止Netbeans識別T
?
將objectName
工作的方式我通過它作爲第二個參數createNamedQuery()
?
你能解釋爲什麼我需要有'公共名單'而不只是'公開名單'? –
Webnet
2012-04-19 19:30:19
因爲你需要指出''的類型是什麼類型,你可以強制T擴展另一個類如下:''。通過聲明'',你表明它可以是擴展對象的任何類型(即所有類型) –
2012-04-19 19:32:02
難題!此外,'contentDao.findAll(「用戶」)或'contentDao.findAll(新用戶())'似乎不是這個功能正在尋找... – Webnet 2012-04-19 19:32:45