首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类型化查询异常

类型化查询异常
EN

Stack Overflow用户
提问于 2016-05-18 06:23:38
回答 2查看 217关注 0票数 0

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

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

我的代码:

代码语言:javascript
运行
复制
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....

例外情况是:

代码语言:javascript
运行
复制
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.
EN

回答 2

Stack Overflow用户

发布于 2016-05-18 13:44:54

请记住,您的查询实际上是JPQL格式的,而不是SQL格式的,因此搜索的是托管类,而不是表。

我想你可能想要:

代码语言:javascript
运行
复制
TypedQuery<KarjooSearchInfo[]> q = em.createQuery("SELECT K FROM KarjooSearchInfo K", KarjooSearchInfo.class);
票数 1
EN

Stack Overflow用户

发布于 2016-05-18 06:42:03

我建议您进行以下更改:

  • 去掉SQL中的前导空格。
  • 返回对象的类应该是KarjooSearchInfo.class而不是条件条件应该是WHERE true而不是WHERE 1.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37287184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档