我想为Eclipselink的每个会话设置一个数据库会话变量.我想要执行的SQL是这样的:
begin DBMS_SESSION.SET_IDENTIFIER('MyApplicationName'); end;
Run Code Online (Sandbox Code Playgroud)
如果我尝试创建一个将执行命令的SessionEvent侦听器,我似乎陷入无限递归.
myServer.getEventManager().addListener(new SessionEventAdapter() {
public void postConnect(SessionEvent evt) {
evt.getSession().executeNonSelectingCall(new SQLCall("begin DBMS_SESSION.SET_IDENTIFIER('MyApplicationName'); end;"));
}
});
Run Code Online (Sandbox Code Playgroud)
我是否以错误的方式使用事件监听器或者SQL命令是否需要以特殊方式执行?