У меня есть вопрос о видимости данных в представлениях базы данных.
Я использую Oracle.
У меня есть таблица myscheme.users и таблица global.users (myscheme и global являются схемами)
В глобальной схеме есть представление "globalusers", которое объединяет обе пользовательские таблицы.
У меня есть Java-приложение, которое вставляет нового пользователя в таблицу myscheme.users. После этого он выполняет запрос для нового пользователя в представлении globalusers для загрузки вновь созданного пользователя.
Как все это происходит внутри одной транзакции. Теперь у меня вопрос: почему вновь созданный пользователь виден в таблице myscheme.user, а не в представлении globalusers?
Когда транзакция была закрыта, пользователь также находится в представлении globaluser.
Мое приложение работает внутри JBoss 5, используя hibernate.
Вид определяется следующим образом:
CREATE OR REPLACE VIEW V_USERACCOUNT AS
SELECT u.USERACCOUNT_ID,u.USERNAME,u.INITIALS,u.COMMONNAME,u.PASSWORD,'local' AS source
FROM "USERACCOUNT" u
UNION
SELECT u1.USERACCOUNT_ID,u1.USERNAME,u1.INITIALS,u1.COMMONNAME,u1.PASSWORD 'global' AS source
FROM GLOBAL."USERACCOUNT" u1