Я пытаюсь добавить определенный фрагмент SQL ко всем SQL, выполняемым в системе с использованием AspectJ.
Я не использовал AspectJ раньше, но я считаю, что мне нужно сделать, это создать pointcut на
вызов (PreparedStatement Connection.prepareStatement (String))
и предоставление совета
before (Connection con, String sql): call (PreparedStatement Connection.prepareStatement (String)) && target (con) && args (sql) {sql = "exec myStordProc ();"+ sql;}
, после чего метод Connection.prepareStatement () продолжит работу с измененной строкой?
Или я должен перехватывать вызовы prepareStatement и executeQuery и создавать совет, который изменяет это на addBatch() добавление моего хранимого вызова procdure в качестве первого пакетного sql, а затем исходного sql, наконец, выполняющегося с executeBatch ()?
Любые указатели будут высоко оценены.
Спасибо