Я нахожусь в проекте, который использует реализацию JPA EclipseLink, чтобы поговорить с базой данных PostgreSQL. У меня есть задача, для которой PostgreSQL NOTIFY/LISTEN кажется идеально подходящим. К сожалению, я новичок в JPA, и я изо всех сил пытаюсь понять, как заставить его работать. Поэтому, я думаю, у меня есть два вопроса; ответ на меня сделает меня счастливым.JPA и PostgreSQL
1) Какой лучший способ для меня получить прямое соединение JDBC с базой данных? (Который я искренне надеюсь, окажется типа org.postgresql.PGConnection
.)
ИЛИ
2) Какой самый лучший способ для меня, чтобы эмулировать/доступ org.postgresql.PGConnection.getNotifications()
через EclipseLink JPA?
Большое спасибо за помощь.
Редактировать: Два рабочих решения! Мне нравится этот сайт. Если кто-нибудь может что-нибудь сказать о скрытых ошибках/преимуществах, которые сделают решение Паскаля или Балуса лучше, чем другое, прежде чем я отправлю галочку, я бы хотел это услышать.
Работает хорошо, спасибо! (И я думаю, что натолкнулся на это во время раннего разворота Google, не уверен, как мне удалось не реализовать его.) Есть ли какие-либо неочевидные выгоды/преимущества, которые сделают это лучше, чем решение Паскаля? – BlairHippo
Какую версию JPA API вы используете? Если 2.0, то я определенно буду искать 'EntityManager # unwrap()'. Если 1.0, то я лично считаю решение Pascal более ясным/приятным, но я не уверен, что он всегда будет возвращать рабочее соединение, так как вы находитесь за пределами транзакции/UnitOfWork. В противном случае это будет описано как в собственной вики EclipseLink. – BalusC
Я на самом деле использую 1.0, но если есть подозрения, что Паскаль может не всегда работать, это тот, с которым мне нужно идти. Большое спасибо за Вашу помощь. – BlairHippo