我有一个使用plv8引擎的数据库,并且存储了用coffescript编写的存储过程。
当我使用jDBI时,为了调用这些程序,在打开连接后我必须运行:
SET plv8.start_proc = 'plv8_init';
将JOOQ与javax.sql.DataSource一起使用时,我可以做类似的事情吗?
答案 0 :(得分:0)
一种选择是使用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