【发布时间】:2016-11-26 15:54:09
【问题描述】:
我有一个使用 plv8 引擎的数据库,并且有用 coffescript 编写的存储过程。
当我使用 jDBI 时,为了调用这些程序,打开连接后我必须运行:
SET plv8.start_proc = 'plv8_init';
在将 JOOQ 与 javax.sql.DataSource 一起使用时,我可以做类似的事情吗?
【问题讨论】:
标签: java postgresql jooq plv8
我有一个使用 plv8 引擎的数据库,并且有用 coffescript 编写的存储过程。
当我使用 jDBI 时,为了调用这些程序,打开连接后我必须运行:
SET plv8.start_proc = 'plv8_init';
在将 JOOQ 与 javax.sql.DataSource 一起使用时,我可以做类似的事情吗?
【问题讨论】:
标签: java postgresql jooq plv8
一种选择是使用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
【讨论】: