Я программирую веб-приложение, используя weblogic и oracle. источник данных настраивается через JNDI с ограниченным пользователем базы данных, который может DML в таблицы, но не может DDL. Как вы можете догадаться, этот пользователь не является владельцем этих таблиц, но он предоставил доступ.
Скажем, он GUEST_USER
Приложение использует JPA + EclipseLink и имеет множество сущностей, которые уже определены. Я не хочу писать в каждом классе сущности атрибут для изменения схемы. Я пробовал SessionCustomizer с этим кодом.
public class MyCustomizer implements SessionCustomizer{
@Override
public void customize(Session session) throws Exception {
session.executeNonSelectingSQL("ALTER SESSION SET CURRENT_SCHEMA = OWNERS_SCHEMA");
}
}
Кажется, что есть что-то неинициализированное, я получаю исключение нулевого указателя, я даже не уверен, что это способ изменить схему для соединений до их использования. Любые образцы или идеи?
Заранее благодарим за помощь!