2012-04-27 81 views
0

我有我的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> 

我知道这不是一个大问题,但我该如何解决此警告?

感谢

+2

可能的重复http://stackoverflow.com/questions/115692/how-to-avoid-type-safety-warnings-with-hibernate-hql-results – Bitmap 2012-04-27 20:59:24

回答

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") 

就我个人而言,我喜欢第二种选择。

+0

确切的重复保持发布的答案。 – Bitmap 2012-04-27 21:08:18

+0

@ danny.lesnik这是错误的。看看我对你的样品所做的修改。 – unnamed 2012-04-27 23:49:09

+0

@fegol,是的你说得对,位置不同,谢谢。 – 2012-04-28 08:23:07

0

防止Eclipse的从产生不可避免的问题

在Eclipse中警告,去窗口>首选项>的Java>编译器>错误/警告,并在泛型类型,选中复选框
Ignore unavoidable generic type problems due to raw APIs

这将会关闭类似问题的不必要的警告,如上面所描述的那些不可避免的问题。