java - 从 SQL 查询 Hibernate Java 获取对象

标签 java mysql hibernate

所以我试图通过 hibernate 从 MySQL 获取一个表并将其存储为列表,以便我可以从中获取变量。我知道 .getResultsList() 存储一个非类型化列表,但它使用以下代码给我一个警告和错误

public List<ToDoList> list (Session s)
    {
        return s.createSQLQuery("SELECT * FROM todolist").getResultList();

    }
The expression of type List needs unchecked conversion to conform to List<ToDoList>
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 session 中获取 EntityManager 并使用 EntityManager 创建查询。 您可以在此处添加预期结果的类型。

public List<ToDoList> list (Session s){
  EntityManager em = s.getEntityManagerFactory().createEntityManager();
  Query q = em.createNativeQuery("SELECT * FROM todolist", ToDoList.class);

  return q.getResultList();
}

关于java - 从 SQL 查询 Hibernate Java 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60405057/

相关文章:

java - 更改字体大小并在 JOptionPane 中的按钮之间留出空间

java - 创建一个应用程序来显示您当前安装的应用程序

java - Hibernate 搜索和外部类

java - 调用 ResourcesPlugin.getWorkspace() 时出现 IllegalStateException : Workspace is closed,

java - (Android)通过intent传递多维数组

mysql - 如何将 2 个查询作为单个查询同时运行

php - 如何防止 PHP 中的 SQL 注入(inject)?

javascript - 如何在 JavaScript 中插入 MySQL 值?

java - Hibernate 模板翻译

sql - 使用 EntityManager 和 hibernate 意外交叉连接生成的 SQL