我正在参与一个使用EclipseLink实现JPA与PostgreSQL数据库通信的项目。我有一个任务,其中PostgreSQL NOTIFY/LISTEN似乎非常合适。不幸的是,我是一个JPA新手,正在努力弄清楚如何使其工作。所以我有两个问题;回答任何一个都会让我很高兴。
1)获取直接JDBC连接到数据库的最佳方式是什么?(我真诚地希望它将被证明是类型为org.postgresql.PGConnection。)
或者
2)通过EclipseLink JPA模拟/访问org.postgresql.PGConnection.getNotifications()的最佳方法是什么?
非常感谢您的帮助。
编辑: 两个可行的解决方案!我喜欢这个网站。如果在我分配检查标记之前,任何人对Pascal或Balus的解决方案有任何隐藏的陷阱/优点要说的话,我想听听。
1)获取直接JDBC连接到数据库的最佳方式是什么?(我真诚地希望它将被证明是类型为org.postgresql.PGConnection。)
或者
2)通过EclipseLink JPA模拟/访问org.postgresql.PGConnection.getNotifications()的最佳方法是什么?
非常感谢您的帮助。
编辑: 两个可行的解决方案!我喜欢这个网站。如果在我分配检查标记之前,任何人对Pascal或Balus的解决方案有任何隐藏的陷阱/优点要说的话,我想听听。
EntityManager#unwrap()
。如果是1.0,那么我个人认为Pascal的解决方案更清晰/更好,但我不确定它是否总是会返回一个可用的连接,因为你在事务/工作单元之外。否则,它将如EclipseLink自己的Wiki中所述。 - BalusC