簡體   English   中英

從查詢中獲取值,該查詢在jasper報告中檢索兩個實體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM