[英]Getting values from a query that retrieves two entites in jasper reports
我将ireport 4.1.1与hibernate jpa一起使用,并且我有一个查询可检索两个实体:
select a,b from TableA a left join a.tableBList b
我试图获取a和b的值,在java中,它返回一个包含两个项目的对象数组(Object []),但是当我尝试在jasper报告中执行此操作时,它给了我这个错误:
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : fieldName
我认为我只需要将fieldName替换为将要返回的对象的名称,但是我不知道并且我试图找到它,但是我没有成功,任何人都可以帮助我吗?
提前致谢 :)
该错误是因为您的数据未使用bean属性映射,或者您可以认为数据模式不符合bean属性。 我的java项目中遇到了同样的问题。 然后我整理出您的数据应采用正确的2D数组形式,然后我从某处获取了样本数据并执行了此操作
String[][] data =
{{ "N263Y", "T-11", " 39 ROSCOE TRNR RACER"},
{ "N4087X", "BA100-163", "BRADLEY AEROBAT"},
{ "N43JE", "HAYABUSA 1", "NAKAJIMA KI-43 IIIA"},
{ "N912S", "9973CC", "PA18-150"}};
JTable m = new JTable(data,headers);
try {
JasperReport jasperReport = JasperCompileManager.compileReport(fileName);
if(jasperReport != null )
System.out.println("so far so good ");
// Fill the report using an empty data source
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JRTableModelDataSource(m.getModel()) );//create());//con.connection);
try{
JasperExportManager.exportReportToPdfFile(jasperPrint, outFileName);
System.out.printf("File exported sucessfully");
}catch(Exception e){
e.printStackTrace();
}
JasperViewer.viewReport(jasperPrint);
} catch (JRException e) {
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
System.exit(1);
}
注意:
您的字段名称应以小写字母开头,此外,该字段名称应与该数据内ur提供的列名称一样小。
希望这会帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.