java - 查询语法异常 : Unexpected token *

标签 java sql oracle hibernate jpa

<分区>

当我尝试使用 EntityManager 运行查询时出现以下错误:

Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8

这可能是什么原因造成的?

代码:

public static void main(String [] args) {

        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myClass");

        EntityManager em = entityManagerFactory.createEntityManager();

        List<String> results= em.createQuery(
                "SELECT * FROM myClass ")
                .setMaxResults(10)
                .getResultList();

}

最佳答案

您不能在 HQL 中使用 * 运算符。你可以像下面这样尝试:

List<String> results= em.createQuery(
                "SELECT myclass FROM myClass ")
                .setMaxResults(10)
                .getResultList();

希望这对您有所帮助!

关于java - 查询语法异常 : Unexpected token *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478867/

相关文章:

java - Spring - Tomcat 配置 - 无法创建 .war 文件

java - 如何定位这个java while循环?

mysql - 右字符串函数的使用

python - 元组列表中带有元组的 SQLalchemy 复杂 in_ 子句

oracle - 如何在 PL/SQL 中使用 select 语句为 SQL*Plus 变量赋值?

java - 在线程内使用 for 循环与类似的 while 循环行为不匹配

mysql - AWS Cognito Identity ID 对 SQL 主键的适用性

oracle - Oracle 模式中具有相同名称的两个索引

oracle - 如何在Oracle 11g r2 Express版中更改字符集

java - 识别转义关键字并在java中阻止