2012-04-27 87 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

這將會關閉類似問題的不必要的警告,如上面所描述的那些不可避免的問題。