Postgres DB触发器调用Java函数
是否可以在postgres DB中定义一个可以调用某些Java函数的触发器 (我相信上述在甲骨文中是可能的,但我想知道它是否适用于博士后) 因此,如果这是可能的,这是否意味着每个连接到DB的客户机应用程序都会调用Java函数,而DB当然已经定义了该函数 Thnx.有: PL/Java是一个免费的附加模块,它带来了Java™ PostgreSQL的存储过程、触发器和函数™ 后端通过标准JDBC接口Postgres DB触发器调用Java函数,java,postgresql,triggers,Java,Postgresql,Triggers,是否可以在postgres DB中定义一个可以调用某些Java函数的触发器 (我相信上述在甲骨文中是可能的,但我想知道它是否适用于博士后) 因此,如果这是可能的,这是否意味着每个连接到DB的客户机应用程序都会调用Java函数,而DB当然已经定义了该函数 Thnx.有: PL/Java是一个免费的附加模块,它带来了Java™ PostgreSQL的存储过程、触发器和函数™ 后端通过标准JDBC接口 我没有使用它,所以我不能评论它有多好。我不知道它是否能满足您的需要,但是如果您使用Hibernate
我没有使用它,所以我不能评论它有多好。我不知道它是否能满足您的需要,但是如果您使用Hibernate与DB通信,您可以使用Hibernate事件侦听器作为触发器(,)。这样,无论数据库是什么(假设您在触发器中使用标准SQL查询或HQL查询),它都可以工作。谢谢。你知道有没有这方面的教程/示例代码吗?这真的会有帮助。@Larry:在源代码下载的
src/java/examples
下有一些示例可能会有帮助。thanx,这看起来会有帮助。PL/java是一个死项目。两年多没有发布,邮件列表似乎也死了。@Gili:谢谢更新。事实上,我现在对PL/v8更感兴趣,已经有一段时间没有接触Java了。我通常建议不要使用Hibernate事件监听器作为触发器:任何设计得体的非平凡数据库方案都可能设置一些级联以保证数据的一致性。这些级联不会触发休眠事件侦听器。此外,当您出于性能原因(在任何非平凡的应用程序中也可能会这样做)跳出Hibernate的边界时,事件也不会被触发。