java - spring + jpa + hibernate,列出表中的所有行

标签 java spring hibernate jpa

我想从数据库中的表 Person 中读取行的所有值。 我认为配置persistence.xml 和Entry.java (entity) 是正确的。如果需要,我会发布它们。 无论如何,我的代码不起作用:

@Override
public List<Entry> list() {
    List<Entry> res = entityManager.createQuery("SELECT * FROM Person", Entry.class).getResultList();

    return res;
}

日志说:

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [SELECT * FROM Person]

有什么想法吗?

好的。没有 SELECT * 日志告诉我:

org.hibernate.hql.internal.ast.QuerySyntaxException: Person is not mapped [FROM Person]

解决了。解决方案是:

        List<Entry> res = entityManager.createQuery("FROM Entry").getResultList();

其中“Entry”是实体而不是表。

最佳答案

您需要从查询中删除 SELECT * 部分:

List<Entry> res = entityManager.createQuery("from Person", Entry.class).getResultList();

JBoss JPA/Hibernate Tutorial

关于java - spring + jpa + hibernate,列出表中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007483/

相关文章:

java - Hibernate ManyToOne FetchType.LAZY 不起作用?

java - 以普遍 Intent 通过类(class)

java - 具有持久队列的服务器推送Java框架?

database - 根据时间戳降序检索最后 100 条记录

java - Spring MVC 是否使用 setter 方法来设置 ModelAttribute 对象的属性?

sql - Oracle SQL 合并语句只有一个表和一堆值

java - 使用 GenerationType.TABLE 在重新启动时 hibernate 重复主键

java - 在 Java 8 中替换映射中列表列表中的值

java - 涉及包含 bean 'XXX' 的循环引用 - 考虑将工厂方法声明为静态以独立于其包含实例

java - 从 Delphi 到 java 指南?