我是 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/