我想知道如何使用Hibernate数据集作为DynamicReports的数据源。我对它没有任何线索,也无法谷歌任何可接受的解决方案 有任何想法吗?提前谢谢。
答案 0 :(得分:1)
我试图解决类似的任务 - 使用带有DynamicReports的ejbql。我使用一些原生的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);