我想从user
表中恢复所有行。
String queryS = "select u from user u";
System.out.println("entityManager: "+(entityManager == null));
Query query = entityManager.createQuery(queryS);
//staff
抛出异常的行是Query query = entityManager.createQuery(queryS);
我不知道为什么甚至持久文件都没问题并且表存在
堆栈是:
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]
答案 0 :(得分:0)
您必须将query
中的表名放在persistence
文件中,而不是数据库中。
答案 1 :(得分:0)
如果:
String queryS = "select u from user u"
在表名上引用你不能使用createQuery方法而是createNativeQuery
如果要使用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);