Этот ответ требует значительно больше работы, но я в том числе, потому что это проектируемой решение, чтобы настроить почти ничего о связи, в том числе схемы. WebSphere Application Sever позволяет вам предоставлять/расширять DataStoreHelper.
Knowledge Center document on providing a custom DataStoreHelper
В этом случае, вы можете продлить com.ibm.websphere.rsadapter.Oracle11gDataStoreHelper
.
JavaDoc for Oracle11gDataStoreHelper
Следующие методы будут интересны:
doConnectionSetup
, который выполняет инициализацию одноразовый на соединении, когда он впервые созданный
doConnectionCleanup
, который сбрасывает состояние соединения перед возвратом это в пул соединений.
При переопределении doConnectionSetup
, вы поставляются с вновь созданным соединением, на котором вы можете сделать,
super.doConnectionSetup(connection);
Statement stmt = connection.createStatement();
try {
stmt.execute(sqlToUpdateSchema);
} finally {
stmt.close();
}
doConnectionCleanup
позволяет учитывать возможность того, что код приложения, использующего соединение может переключаться схема к чему-то еще. doConnectionCleanup
дает вам возможность сбросить его. Опять же, вы поставляются с подключением, на котором вы можете сделать,
super.doConnectionCleanup(connection);
Statement stmt = connection.createStatement();
try {
stmt.execute(sqlToUpdateSchema);
} finally {
stmt.close();
}
Заметим, что в обоих случаях, вызывая соответствующий метод суперкласса важно, чтобы вы не уничтожить инициализации базы данных конкретных/который WebSphere Application Server создал на основе базы данных.
Мы подключаемся к базе данных Oracle – Dave
вы используете WebSphere традиционного или WebSphere Liberty? –
Я использую WebSphere традиционным – Dave