Comment obtenir la même connexion à la base de données que JPA utilisée avec Java?
Je suis à l'aide de Jasper Reports pour la génération de rapports.
Je suis à l'utilisation de tables temporaires pour générer des rapports pour lesquels j'ai besoin de la même connexion utilisé par JPA lors de la création de la table temporaire comment puis-je obtenir le même.
source d'informationauteur Rinkal Bhanderi
Vous devez vous connecter pour publier un commentaire.
Probablement, vous êtes à seulement trois étapes.
Vous pouvez le faire en utilisant de la manière suivante
utiliser la source de données JTA pour persistance.xml comme ci-dessous
Pour la génération de rapports, de récupérer la
connection
à partir de la source de données comme indiqué ci-dessousUtiliser la connexion pour générer un rapport à quelque chose comme ci-dessous:
Cela devrait être tous je crois. L'idée est que l'utilisation commune de la connexion JNDI pour les deux, JPA & JasperReport, et ensuite de les utiliser le cas échéant.
Je n'ai pas de travail avec JasperReports, mais il a travaillé avec BIRT Report et résolu de cette façon sans aucun problème.
Au sein de JasperReports vous pouvez utiliser soit native requêtes JDBC ou EJBQL requêtes.
Lors de l'utilisation de ce dernier, votre code devrait ressembler à ceci (à partir de JRJpaQueryExecuter api):
Si vous avez vraiment besoin du sous-jacente connexion jdbc à la manière de la réaliser varie en fonction de l'implémentation JPA vous utilisez.
EclipseLink (JPA 2.0):
(Vous n'aurez pas besoin de lancer et valider les opérations de rapports)