从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();
}

上一篇:我如何调用新的@Async方法,但要等待条件?

下一篇:是否有比Thread.Sleep()更好的Sleep()方法?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载