送信クラスごとにキャストされたオブジェクトを返すメソッドを使用しています。コレクションを<T>にT.classでキャスト
// Student student = (Student) get(Student.class, 19L);
Student student = get(Student.class, 19L); // Working fine
public <T> T get(Class<T> clazz, Long id) {
Object object = hibernateTemplate.get(clazz, id);
return Primitives.wrap(clazz).cast(object);
}
でも、コレクションは何ですか? 以下のメソッドから、このように渡されたクラスとして常にキャストされたListを返すメソッドを呼び出すとします。
List<Student> list = get(Student.class); // Error
public List<?> get(Class clazz) {
DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
List<?> list = hibernateTemplate.findByCriteria(criteria);
return ????; // What should I return from here ?
}
最後の方法で返す必要はありますか?
あなたはリストを返信したくないですか? –