W ramach JasperReports można użyć albo natywnych zapytań JDBC, albo zapytań EJBQL.
Przy stosowaniu tej ostatniej, Twój kod powinien wyglądać następująco (od JRJpaQueryExecuter API):
Map parameters = new HashMap();
EntityManager em = emf.createEntityManager();
parameters.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, em);
JasperRunManager.runReportToPdfFile(fileName, parameters);
Jeśli naprawdę potrzebujesz pod nią JDBC związku z tym sposób, aby osiągnąć to różni się w zależności od implementacji JPA używanego .
EclipseLink (JPA 2.0):
entityManager.getTransaction().begin();
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();
(Nie trzeba zacząć i zobowiązać do zgłaszania transakcji)
Czy twój WZP jest ustawiony na źródło danych? –
YES wykorzystuje źródło danych –