Использование PL/Java с JPA или другой персистентной библиотекой

Мне интересно, можно ли использовать JPA или другую постоянную библиотеку вместе с PL/Java? Я имею в виду использование JPA-персистентности для манипулирования базой данных через специальное соединение JDBC, предоставляемое PL/Java в хранимых процедурах Java.

1 ответ

Решение

Это возможно, но действительно плохая идея. Большинство ORM довольно требовательны к памяти, и PL/Java порождает одну JVM на каждый бэкэнд (соединение) PostgreSQL, так что поглощение памяти будет умножаться для каждого соединения. Хуже того, многие ORM ожидают, что смогут получать многочисленные соединения из пула и свободно их использовать, но при работе в PL/Java с SPI у вас действительно только одно соединение, поскольку бэкэнды PostgreSQL являются однопоточными и не поточнобезопасными.

Я действительно не рекомендую это.

Другие вопросы по тегам