0

我想知道如何使用 Hibernate 数据集作为 DynamicReports 的数据源。我对此一无所知,也无法通过谷歌搜索任何可接受的解决方案。
有任何想法吗?提前致谢。

4

1 回答 1

1

我试图解决类似的任务 - 将 ejbql 与 DynamicReports 一起使用。我已经使用一点本地 JasperReports API 使它工作。这是我的走动。

JasperReportBuilder builder = report()
.columns(
        col.column("CriterionName",       "CriterionName",      type.stringType()),
        col.column("Description",   "Description",  type.stringType()) )
      .title(Templates.createTitleComponent("entityManagerDatasource"))
      .pageFooter(Templates.footerComponent)
      .setQuery("SELECT c.CriterionName, c.Description from ConfigCriterions c", 
    QueryLanguage.EJBQL)
      .addParameter(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, entityManager);
    JasperDesign design = builder.toJasperDesign();
    List<JRField> fields = design.getFieldsList();
    int i = 0;
    for (JRField field:fields)  {
        ++i;
        field.setDescription("COLUMN_" + i);
    }       

    JasperReport report = JasperCompileManager.compileReport(design);
    JasperPrint jasperPrint = JasperFillManager.fillReport(report, null);
于 2012-12-21T11:14:05.060 回答