I have a parameterized hibernate dao that performs basic crud operations, and when parameterized is used as a delegate to fulfil basic crud operations for a given dao.
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID> I want to be able to derive Class from T at runtime to create criteria queries in Hibernate, such that:
public T findByPrimaryKey(ID id) { return (T) HibernateUtil.getSession().load(T.getClass(), id); } I know:
T.getClass() does not exist, but is there any way to derive the correct Class object from T at runtime?
I have looked at generics and reflection but have not come up with a suitable solution, perhaps I am missing something.
Thanks.