java - 类型化查询异常

标签 java maven jpa

我是 Maven 和 Java 新手。我正在开发一个maven项目,我想从mysql DB中选择一些多行数据。 以下代码是从下面的链接复制的。但它不起作用。我进行了很多搜索并发现了一些相同的结果。但它们都不起作用。我不知道我该怎么做。

JPA, Entity manager, select many columns and get result list custom objects

我的代码:

try{
EntityManagerFactory factory = Persistence.createEntityManagerFactory("com.mycompany_LinkedIn_war_1.0-SNAPSHOTPU");
EntityManager em = factory.createEntityManager();
TypedQuery<KarjooSearchInfo[]> q = em.createQuery(" SELECT name,education,gender,more,time FROM karjoo_search_info WHERE 1 ", KarjooSearchInfo[].class);
List<KarjooSearchInfo[]> resultList = q.getResultList();
do something...
}catch....

异常(exception)情况是:

An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing [ SELECT name,education,gender,more,time FROM `karjoo_search_info` WHERE 1 ]. 
 [69, 69] An identification variable must be provided for a range variable declaration.
 [75, 76] The expression is not a valid conditional expression.

最佳答案

请记住,您的查询实际上是在 JPQL 中而不是 SQL 中进行的,因此您是针对托管类而不是表进行搜索。

我想你可能想要:

TypedQuery<KarjooSearchInfo[]> q = em.createQuery("SELECT K FROM KarjooSearchInfo K", KarjooSearchInfo.class);

关于java - 类型化查询异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37287184/

相关文章:

java - 无法创建新的 Maven hello-world 项目

java - Spring调度程序servlet找不到index.html。在 DispatcherServlet 中未找到带有 URI [] 的 HTTP 请求的映射

java - 在共享库中为 JPA 实体(域类型对象)创建基类的缺点

java - 从父类(super class)构造函数获取子类

Java:在网站上查找JAR文件的主类

java - 为什么复制任务中的 gradle 排除模式不起作用?

java - 按期限长度排序的 Hibernate 标准

java - 由于 @tmp dir 导致 Jenkins 管道 DSL Maven 错误

java - Spring - 配置 Hibernate Jpa 的问题

java - 使用属性建模多对多关系