我想从数据库中的表 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();
关于java - spring + jpa + hibernate,列出表中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007483/