将PL/Java与JPA或其他持久性库一起使用

将PL/Java与JPA或其他持久性库一起使用,java,postgresql,jpa,pljava,Java,Postgresql,Jpa,Pljava,我想知道是否可以将JPA或其他持久性库与PL/Java一起使用? 我的意思是使用JPA持久性通过PL/Java在存储Java过程中提供的特殊JDBC连接操作数据库。这是可能的,但这是一个非常糟糕的主意。大多数ORM都是非常消耗内存的野兽,PL/Java为每个PostgreSQL后端(连接)生成一个JVM,因此每个连接的内存消耗将成倍增加。更糟糕的是,许多orm希望能够从一个池中获得多个连接并自由使用它们,但当在带有SPI的PL/Java中运行时,实际上只有一个连接,因为PostgreSQL后端是

我想知道是否可以将JPA或其他持久性库与PL/Java一起使用?
我的意思是使用JPA持久性通过PL/Java在存储Java过程中提供的特殊JDBC连接操作数据库。

这是可能的,但这是一个非常糟糕的主意。大多数ORM都是非常消耗内存的野兽,PL/Java为每个PostgreSQL后端(连接)生成一个JVM,因此每个连接的内存消耗将成倍增加。更糟糕的是,许多orm希望能够从一个池中获得多个连接并自由使用它们,但当在带有SPI的PL/Java中运行时,实际上只有一个连接,因为PostgreSQL后端是单线程的,并且不是线程安全的


我真的不推荐。

我明白了,谢谢。那轻型发动机呢?例如MyBatis。@NagyI如果内存占用少且启动速度快,可能还可以,特别是如果您使用PgBouncer之类的连接池来支付昂贵的后端启动成本,则可以使用PL/Java和ORM。您可能仍然存在ORM不喜欢被限制为与服务器的单个连接的问题。对我来说,这似乎不太可能是一个值得追求的好设计,但我可能是错的,如果你能让它发挥作用并取得好的效果,我很有兴趣听到你的反馈。