简短的答案
@SuppressWarnings是正确的方法。
长话大说,Hibernate
List从该
Query.list方法返回了一个原始数据,请参见此处。这不是Hibernate的错误,也不是可以解决的问题,查询返回的类型在编译时
未知 。
因此,当你写
final List<MyObject> list = query.list();
您正在执行从
List到的不安全转换
List<MyObject>-无法避免。
您可能无法安全地执行转换,因为其中
List可能 包含任何内容。
使错误消失的唯一方法是更加丑陋
final List<MyObject> list = new linkedList<>();for(final Object o : query.list()) { list.add((MyObject)o);}


