我有一个使用 plv8 引擎的数据库,并且有用 coffescript 编写的存储过程。
当我使用 jDBI 时,为了调用这些程序,在我打开连接后我必须运行:
SET plv8.start_proc = 'plv8_init';
将 JOOQ 与 javax.sql.DataSource 一起使用时,我可以做类似的事情吗?
我有一个使用 plv8 引擎的数据库,并且有用 coffescript 编写的存储过程。
当我使用 jDBI 时,为了调用这些程序,在我打开连接后我必须运行:
SET plv8.start_proc = 'plv8_init';
将 JOOQ 与 javax.sql.DataSource 一起使用时,我可以做类似的事情吗?
一种选择是使用ExecuteListener
. executeStart()
您可以通过实现以下方法来挂钩查询执行生命周期:
new DefaultExecuteListener() {
@Override
public void executeStart(ExecuteContext ctx) {
DSL.using(ctx.connection()).execute("SET plv8.start_proc = 'plv8_init'");
}
}
现在,将上述内容ExecuteListener
提供给您的Configuration
,您就完成了。
另见手册: http ://www.jooq.org/doc/latest/manual/sql-execution/execute-listeners