Oracle Blob search возвращает устаревшие данные

Я сохранил 200-мегабайтный текстовый файл в моей базе данных Oracle12c. Он называется aaa.txt и содержит только буквы "а". В таблице вложений есть строка DATA, которая содержит BLOB.

Когда я вхожу в SQL-Developer и выполняю следующую инструкцию

SELECT distinct ID FROM ATTACHMENT WHERE CONTAINS(DATA, '%aa%', 1) > 0;

это возвращает мой ряд. Однако, когда я выполняю подготовленное состояние в моем приложении Java

preparedStatement = connection.prepareStatement("select distinct ID from ATTACHMENT WHERE CONTAINS (DATA, \'%aa%\', 1) > 0");
resultSet = preparedStatement.executeQuery();

Я не понимаю этот ряд. Я пробовал hibernate nativeQueries и подготовленные состояния jdbc.

Я также пытался отключить неявное и явное кеширование

connection.setImplicitCachingEnabled(false);
connection.setStmtCacheSize(0);
connection.setExplicitCachingEnabled(false);
preparedStatement.setDisableStmtCaching(true);

Проблема возникает со всеми новыми файлами, подготовленное состояние находит старые файлы.

Я также попытался повторно проанализировать таблицу и синхронизировать индекс

ANALYZE TABLE ATTACHMENT COMPUTE STATISTICS

BEGIN
    CTX_DDL.SYNC_INDEX('IDX_ATTACHMENT');
END;
/

Есть ли что-то, что я здесь скучаю?

0 ответов

Другие вопросы по тегам