@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();
}
(T
수행 할 작업을 모르고있는 적합을 던지는 내 IDE가 아닌) 문제는 내가 그 문자열을 가지고 대신에 그것을 전달하는 방법을 잘 모르겠어요 것입니다 ... 일을 시작 ContentType.class
.
Netbeans이 T
을 인식하지 못하게하는 것은 무엇이 있습니까?
createNamedQuery()
에 두 번째 매개 변수로 전달하는 방식은 objectName
일까요?
당신이 설명 할 수를 '공개 목록'뿐 아니라? –
Webnet
어떤 타입의 타입이 ''인지를 나타낼 필요가 있기 때문에 T가 다음과 같이 다른 klass를 확장하도록 할 수 있습니다 :''. ''을 선언함으로써 Object (즉, 모든 타입)를 확장하는 모든 유형이 될 수 있음을 나타냅니다. –
Gotcha! 또한,'contentDao.findAll ("User")'또는'contentDao.findAll (new User())'는이 함수가 찾고있는 것 같지 않습니다 ... – Webnet