기본 crud 작업을 수행하는 매개 변수화 된 최대 절전 모드 DAO가 있고 지정된 매개 변수에 대한 기본 crud 작업을 수행하기 위해 매개 변수화 된 매개 변수가 대리자로 사용되는 경우 ,일반 T에서 클래스 파생
이이 존재하지 않는
T.getClass()
:
public T findByPrimaryKey(ID id) {
return (T) HibernateUtil.getSession().load(T.getClass(), id);
}
내가 아는 :
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID>
나는 그런, 최대 절전 모드에서 기준 쿼리를 생성하는 런타임에 T에서 클래스를 파생 할 수 있도록하려면 하지만 런타임에 T에서 올바른 Class 객체를 파생시킬 수있는 방법이 있습니까?
제네릭과 리플렉션을 살펴 보았지만 적합한 솔루션이 없으므로 아마도 뭔가 누락되었습니다.
감사합니다.
예이 내가 가진 하나 개의 솔루션입니다. Class 종속성을 추가하지 않고 가능한 한 T에서 클래스를 파생시킬 수 있기를 원합니다. – bowsie
@bowsie : 당신의 고통을 이해합니다. 불행하게도, 컴파일러는 T의 모든 흔적을 지우면서 완료합니다. 타입 지우기라고합니다 : http://java.sun.com/docs/books/tutorial/java/generics/erasure.html –
Ahh okay, thanks Adam. – bowsie