[英]How to check type of List of Users returned from Query object in Hibernate?
为了使用Hibernate从数据库中检索数据,我使用以下语法:
Query query = session.createQuery("from User where name=? and password=?");
query.setString(0,user.getName());
query.setString(1,user.getPassword());
List list = query.list(); // Line 1
第1行显示警告: “List是原始类型。应该参数化对泛型类型List的引用。”
现在,如果我使用以下内容添加泛型:
List<User> list = (List<User>) query.list();
这再次发出警告: “未经检查的类型转换。”
如何查看用户列表的类型?
我不确定,但对我来说似乎没问题。
你可能想用
@SuppressWarnings (value="unchecked")
有关模板参数类型的信息将在运行时删除。 这称为类型擦除 。 所以,你必须事先知道你要投的那种类型。 为了避免编译器警告,您可以使用@SuppressWarnings("unchecked")
。
此外,您可以尝试Hibernate Typesafe Criteria ,看看这里 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.