Je suis sur un projet qui utilise l'implémentation EclipseLink de JPA pour communiquer avec une base de données PostgreSQL. J'ai une tâche pour laquelle PostgreSQL NOTIFY/LISTEN semble être un ajustement parfait. Malheureusement, je suis un newb JPA, et j'ai du mal à comprendre comment le faire fonctionner. Donc je suppose que j'ai vraiment deux questions; répondre à l'un ou l'autre me rendra heureux.JPA et PostgreSQL
1) Quelle est la meilleure façon pour moi de mettre la connexion JDBC directe à la base de données? (Qui je l'espère sincèrement se révélera être de type org.postgresql.PGConnection
.)
OU
2) Quelle est la meilleure façon pour moi de Emuler/accès org.postgresql.PGConnection.getNotifications()
via EclipseLink JPA?
Merci beaucoup pour votre aide.
Édition: Deux solutions de travail! J'aime ce site. Si quelqu'un a quelque chose à dire sur les pièges/avantages cachés qui feraient mieux la solution de Pascal ou de Balus que l'autre avant de distribuer la coche, j'aimerais l'entendre.
Fonctionne bien, merci! (Et je pense que je suis tombé sur Google plus tôt, je ne sais pas comment j'ai réussi à ne pas l'implémenter.) Y at-il des pièges/avantages inédits qui rendraient cela meilleur que la solution de Pascal? – BlairHippo
Quelle version de l'API JPA utilisez-vous? Si 2.0, alors je choisirais définitivement le 'EntityManager # unwrap()'. Si 1.0, alors je trouve personnellement la solution de Pascal plus claire/plus agréable, mais je ne suis pas sûr que cela retournera toujours une connexion de travail car vous êtes en dehors de la Transaction/UnitOfWork alors. Sinon, il serait décrit comme dans Wiki d'EclipseLink. – BalusC
J'utilise actuellement la version 1.0, mais s'il y a des soupçons que Pascal ne fonctionne pas toujours, c'est celui avec lequel je dois aller. Merci beaucoup pour votre aide. – BlairHippo