【发布时间】:2012-04-20 12:37:00
【问题描述】:
我有几个函数...
@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() 的方式工作吗?
【问题讨论】: