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