当前位置: 首页 > 知识库问答 >
问题:

使用jpa、jasper报告进行不同的查询

云曦之
2023-03-14

我正在使用ireport-4.5.0,spring3.0.5RELEASE,jpa2。我有一个名为User的实体类,其属性如下userId,用户名,密码。我

通过将字段命名为这三个属性名来设计jrxml。如果我从用户那里给出jpa查询,那么它工作正常并给出结果。但是我想要userName的不同值(userName列也允许重复值),所以我将jpaQuery指定为

SELECT userId,DISTINCT(userName),password FROM User 

那我得不到结果。查询有什么问题。

嗨,我在这里给出了我正在使用的代码

public User getUsers() throws Exception{
 Query uQuery = entityManager.createQuery("SELECT u.userId,u.userName,u.password FROM User u GROUP BY u.userId,u.userName,u.password");
       List <User>listOfUsers = uQuery.getResultList();
       if (listOfUsers == null) {
           throw new ResourceNotFound();
        }
       for (Iterator iterator = listOfUsers.iterator(); iterator.hasNext();) {
            User userList = (User)iterator.next();

        }

       return userList;

这里我得到了ClassCastException:Java . lang . string不能强制转换为User。它在for循环语句中显示了这个异常。我是JPA的新成员。你能解释一下如何迭代对象列表吗?

共有1个答案

符献
2023-03-14

在JPQL或SQL中,不能将DISTINCT放在单个列上。

你很可能需要使用一个组,

通过u.userId、u.userName、u.password从用户u组中选择u.userId、u.userName、u.password

 类似资料:
  • 我正在从. jasper文件加载jasper报告文件以提高性能,如下所示。 但是我现在有一个要求,动态形成的查询必须设置为. jasper(编译)文件。有没有办法做同样的事情?

  • 我的应用程序中有几个类似的报告,因此我创建了一个基本结构,在标题中有一个子报告,在页脚中有另一个子报告。 我不知道为什么我找不到解决这个问题的方法,如果有人能帮我...谢谢!

  • 我已经使用JRResultSetDataSource使用了Jasper报告,但这是我第一次使用JRBeanGrou 我正在尝试使用以下代码运行报告测试: 客户.java Report.java clientereport.jrxml Main.java 我得到以下错误: 我不知道我的代码有什么问题。

  • 我试图做一个Jasper报表簿,稍后填充它的内容,并保持封面不变,但是当我使用与报表簿对应的. jasper时,我得到了一个空白页。我一个接一个地传递这本书的页面,它起作用了,但是当我传递整本书时,我什么也没得到。 有人知道如何在java中使用整个Jasper报告簿来生成PDF吗? 谢谢。

  • 我用的是Jasper reports 6.17,我在Jasper Studio里做了一个列表。 列表中只有两个名为“test1”和“test2”的项目,但只显示了一个,我不知道为什么。生成的PDF仅显示“test2”,为什么缺少“test1”?如果我添加10项,第一行将丢失。 jrxml文件是: java文件是:

  • 我无法使用jasper报告将中文字符嵌入到pdf中。我得到的是英文字符,而不是中文文本。希望有人能为我提供一个快速解决此问题的方法。