HQL查询在Hibernate MySQL中失败
我想恢复用户表中的所有行 引发异常的行是Query Query=entityManager.CreateQueryQueryQuerys 我不知道为什么即使是持久性文件也可以,并且该表存在 堆栈是: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
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中选择缩短的查询