У меня есть таблица базы данных с полем, которое мне нужно читать и писать через спящий режим. Это строковое поле, но содержимое зашифровано. И по разным причинам (например, необходимость сортировки значений обычного текста) функции шифрования/дешифрования реализованы внутри базы данных, а не на Java.Автоматически применять функцию преобразования поля в Hibernate
Проблема, с которой я сейчас сталкиваюсь, заключается в поиске способа активировать функции шифрования/дешифрования в сгенерированном с помощью Hibernate SQL везде, где это поле ссылается и прозрачно для моего кода приложения. Это возможно? Я рассмотрел поддержку Hibernate для «полученных» свойств, но, к сожалению, этот подход не поддерживает поля чтения и записи. Любые идеи оценили.
Можете ли вы уточнить бит типа «простой текст»? Означает ли это, что вы делаете что-то вроде 'SELECT my_field FROM my_table ORDER BY decrypt (my_field)'? – ChssPly76
Да, но больше похоже на SELECT decrypt (my_field) FROM my_table ORDER BY decrypt (my_field). Во всяком случае, это один из примеров. Мне также нужно делать нечувствительные к регистру поиски (вызов UPPER по дешифрованному значению) и частичные совпадения строк с использованием оператора LIKE. Все эти вещи требуют, чтобы база данных могла выполнять дешифрование. –