Trong vòng JasperReports bạn có thể sử dụng truy vấn JDBC gốc hoặc truy vấn EJBQL.
Khi sử dụng sau này, mã của bạn sẽ trông như thế này (từ JRJpaQueryExecuter api):
Map parameters = new HashMap();
EntityManager em = emf.createEntityManager();
parameters.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, em);
JasperRunManager.runReportToPdfFile(fileName, parameters);
Nếu bạn thực sự cần kết nối jdbc underlaying cách để đạt được nó thay đổi tùy theo tình hình thực hiện JPA bạn đang sử dụng .
EclipseLink (JPA 2.0):
entityManager.getTransaction().begin();
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();
(Bạn sẽ không cần phải bắt đầu và cam kết giao dịch để báo cáo)
Nguồn
2011-11-02 09:15:09
JPA của bạn có được đặt để sử dụng Nguồn dữ liệu không? –
YES đang sử dụng nguồn dữ liệu –