从SQL查询休眠Java中获取对象
来源:爱站网时间:2021-09-16编辑:网友分享
所以我试图通过休眠从MySQL获取表并将其存储为列表,以便可以从中获取变量。我知道.getResultsList()存储一个无类型的列表,但是它给了我警告,并且...
问题描述
所以我试图通过休眠从MySQL获取一个表并将其存储为列表,以便可以从中获取变量。我知道.getResultsList()存储一个无类型的列表,但是它通过以下代码给我警告和错误
public List list (Session s)
{
return s.createSQLQuery("SELECT * FROM todolist").getResultList();
}
The expression of type List needs unchecked conversion to conform to List
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to toDo.ToDoList
at toDo.ToDoMain.main(ToDoMain.java:46)
如何正确地从MySQL获取对象列表?
思路:
如果您使用的是Hibernate 5.2+,我建议您从Hibernate会话中获取EntityManager,并使用EntityManager创建查询。您可以在其中添加预期结果的类型。
public List list (Session s){
EntityManager em = s.getEntityManagerFactory().createEntityManager();
Query q = em.createNativeQuery("SELECT * FROM todolist", ToDoList.class);
return q.getResultList();
}