我的Hibernate类上有以下代码:
public List<Something> getSomethingList(Integer[] ls){
String sql = "FROM SOMETHING WHERE IDSOMETHING IN (:ls)";
return this.getSession().createQuery(sql).setParameterList("ls", ls).list();
}
我在回程线上发出警告。警告如下:
Type safety: The expression of type List needs unchecked conversion to conform to List<Something>
我知道这不是一个大问题,但我该如何解决这个警告?
由于
答案 0 :(得分:1)
第一选择: 这样:
List<Permission> permissions = Collections.checkedList(Permission.class, this.getSession().createQuery(sql).setParameterList("ls", ls).list());
应该是这样的:
List<Permission> permissions = Collections.checkedList(this.getSession().createQuery(sql).setParameterList("ls", ls).list(),Permission.class);
第二个选项:
使用:
@SuppressWarnings("unchecked")
就个人而言,我喜欢第二种选择。
答案 1 :(得分:0)
防止Eclipse针对不可避免的问题生成警告
在Eclipse中,转到Window&gt; Preferences&gt; Java&gt; Compiler&gt; Errors / Warnings,在Generic type下,选中复选框
Ignore unavoidable generic type problems due to raw APIs
这将关闭类似问题的不必要的警告,如上所述,这是不可避免的。