Как получить, а затем освободить прямое соединение с базой данных, используя ссылку Eclipse - PullRequest
3 голосов
/ 06 декабря 2010

Как говорится в теме. У меня есть процесс пакетного импорта, который действительно очень плохо работает с использованием JPA, и мне нужен способ вернуться к чистым вызовам JDBC, чтобы выполнить работу.

Видимо, вы можете позвонить:

Connection c = ((EntityManagerImpl)(em.getDelegate())).getServerSession().getAccessor().getConnection();

Но я не знаю, что делать, чтобы освободить и / или закрыть его после завершения.

1 Ответ

3 голосов
/ 06 декабря 2010

См http://wiki.eclipse.org/EclipseLink/Examples/JPA/EMAPI#Getting_a_JDBC_Connection_from_an_EntityManager

Как правило, вы должны делать это в контексте транзакции, соединение будет разорвано при фиксации / откате транзакции.

Также обратитесь к разделу о производительности пользовательского документа, чтобы узнать, как улучшить производительность вашего пакета,

http://wiki.eclipse.org/Optimizing_the_EclipseLink_Application_%28ELUG%29

...