org.hibernate.exception.SQLGrammarException:无法执行查询?

Nat*_*han 6 sql hibernate

当我尝试使用NamedQuery获取列表时,我遇到了这个异常:

org.hibernate.exception.SQLGrammarException: could not execute query

下面我提到的代码:

实体类代码:

@Table(name = "tbl_users")
@XmlRootElement
@NamedQueries({@NamedQuery(name = "TblUsers.findAll", query = "SELECT t FROM TblUsers t")});
Run Code Online (Sandbox Code Playgroud)

DAO实施代码:

org.hibernate.Query query = session.getNamedQuery("TblUsers.findAll");
List list = query.list();
Run Code Online (Sandbox Code Playgroud)

请为此例外提供解决方案.

Dna*_*vir 8

一段时间面临同样的问题,并发现问题是由于表名与数据库中的类(或实体)名称不同.添加了@Table(name = actual_table_name)注释并且它有效.


Rya*_*art 5

获取Hibernate生成的SQL查询(使用hibernate.show_sql,或者最好是Hibernate的SQL日志记录),并自己对数据库执行它.这很可能有助于引导您朝着正确的方向前进.

  • 我尝试过使用hibernate.show_sql,但我得到的是`insert into table(column)values(?)`我们怎么能真正看到REAL SQL而不只是一堆`?`标记? (3认同)