我正在编写Hibernate Session API的包装器:
@SuppressWarnings("unchecked")
public <T> List<T> execQuery(String hql){
Session s=sf.getCurrentSession();
return s.createQuery(hql)
.list();
}
Hibernate Session API的list()函数似乎使用原始类型。所以如何包装这个函数,让我的包装器的客户端安全地使用如下:
List<BusinessObject> bo= xxx.execQuery(...);
答案 0 :(得分:2)
至少在一个地方无法避免@SuppressWarnings("unchecked")
。
由于List
是原始类型,因此您必须在某处进行未经检查的转换。你能做的最好的事情就是将它包含在一个地方,这就是你用execQuery做的事情。