java 将Hibernate连接与JasperReports结合使用

w6lpcovy  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(120)

我现在正在制作一个新的模块到一个大的网络应用程序中。我已经在 * iReport * 中创建了一个带有Hibernate连接的报表。所有的Hibernate类都已经由我的队友制作好了,hql查询也是如此。所以,我们可以说,我在设计器中只制作了"可视化"部分。
在 * iReport * 中,一切都很好,就像我想要的那样。我正在使用hibernate.cfg.xml文件,其中定义了会话工厂。
当我想将我的 *. jrxml文件与java web app集成时,我的问题就开始了。web应用程序是使用Spring框架在maven上创建的。所以我有一个额外的文件applicationContext.xml,其中的hib会话工厂也是像hibernate.cfg.xml中那样定义的。
问题是,在applicationContext.xml中的bean上使用@autowired是否有可能使它工作?

@Autowired
@Qualifier("binderSessionFactory")
protected SessionFactory sessionFactory;

如果是,我如何提供这个连接,使它与我的 *. jrxml文件一起工作?
Java代码:

OutputStream outputStream = response.getOutputStream();

Map parameters = (Map) model.get("parameters");

URL reportTemplate = getClass().getClassLoader().getResource("pathToFile/file.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(reportTemplate.getPath());
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters);

JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream);

我应该如何使一个hibdb连接对我的报表可见?

wko9yo5t

wko9yo5t1#

回答你的第一个问题,是的,这是可能的。请参考以下链接,了解JasperReports-Hibernate集成所需的配置:JasperReports 5.6.0 - Hibernate Sample
Using Hibernate queries in JasperReports
最后一个链接显示了Spring的特定要求:JasperReports - Spring MVC
希望这些有用。

相关问题