Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HQL查询在Hibernate MySQL中失败_Mysql_Hibernate_Hql - Fatal编程技术网

HQL查询在Hibernate MySQL中失败

HQL查询在Hibernate MySQL中失败,mysql,hibernate,hql,Mysql,Hibernate,Hql,我想恢复用户表中的所有行 引发异常的行是Query Query=entityManager.CreateQueryQueryQuerys 我不知道为什么即使是持久性文件也可以,并且该表存在 堆栈是: 10:36:06.693 [AWT-EventQueue-0] DEBUG org.hibernate.hql.ast.ErrorCounter - throwQueryException() : no errors 10:36:06.693 [AWT-EventQueue-0] DEBUG o.h

我想恢复用户表中的所有行

引发异常的行是Query Query=entityManager.CreateQueryQueryQuerys

我不知道为什么即使是持久性文件也可以,并且该表存在

堆栈是:

10:36:06.693 [AWT-EventQueue-0] DEBUG org.hibernate.hql.ast.ErrorCounter - throwQueryException() : no errors
10:36:06.693 [AWT-EventQueue-0] DEBUG o.h.hql.antlr.HqlSqlBaseWalker - select << begin [level=1, statement=select]

您必须在查询中输入表名,就像在持久性文件中而不是数据库中一样。

如果:

String queryS = "select u from user u"
是在表名上引用的。您不能使用createQuery方法,而是createNativeQuery

String queryS = "select u from user u";
Query query = entityManager.createNativeQuery(queryS);
如果要使用createQuery,则必须在查询中使用映射到用户表的实体/类

总结:

案例1使用createNativeQuery

String queryS = "select u from user u";
Query query = entityManager.createNativeQuery(queryS);
案例2使用createQuery

String queryS = "select u from " + User.class.getName() + " u";
Query query = entityManager.createNativeQuery(queryS);

尝试从用户u中选择u或从用户u中选择缩短的查询