Bis*_*128 3 java database hibernate jpa exception
我试图用hibernate从我的数据库中检索数据,但它不断抛出异常
2012-11-11 11:35:45,943 [main]错误com.storage.hibernate.DatabaseAccessRequestsImpl - 出现错误javax.persistence.PersistenceException:org.hibernate.exception.SQLGrammarException:无法执行查询
@Override
public List<Trade> requestPeriod() {
List<Trade> trades = null;
EntityManager manager = emf.createEntityManager();
Query query = manager.createQuery("from trade");
try{
trades = query.getResultList();
}
catch(PersistenceException e){
logger.error("there was an error " + e);
}
catch(SQLGrammarException e){
logger.error("there was an error " + e);
}
return trades;
}
Run Code Online (Sandbox Code Playgroud)
我猜我使用的语法select all是不正确的但是在环顾四周后我看不到另一种选择?
谢谢
请注意,在JPA中,QL SELECT子句是强制性的,如:10.2.1.1.JPQL Select语句:
select语句是一个由以下子句组成的字符串:
一个SELECT子句,它确定要选择的对象或值的类型;
FROM子句,它提供声明,指定应用查询的其他子句中指定的表达式的域;
[...]
在BNF语法中,select语句定义为:
Run Code Online (Sandbox Code Playgroud)select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause]
裸露的from Trade语法是特定于Hibernate的,为了符合规范,您应该始终使用:
select t from Trade t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7854 次 |
| 最近记录: |