Перехватить Запрос Критериев Гибернации


Я использую Hibernate SessionFactory для извлечения информации из базы данных. Проблема в том, что поле базы данных" encrypted_field " ниже Теперь зашифровано и нарушает SQL-запрос.

Это старый SQL-запрос, который я пытаюсь преобразовать в Hibernate:

SELECT * FROM dictionary order by codetype DESC,code, LEN(encrypted_field) DESC

Есть ли способ исправить это в спящем режиме? Я думаю о каком-нибудь перехватчике Hibernate, который позволит мне расшифровать "encrypted_field" непосредственно перед тем, как Hibernate применит критерии "order by" к результирующему набору. Это возможно?

2 2

2 ответа:

Возможно, перехватчики могли бы решить вашу проблему (onLoad-для расшифровки информации и onSave для шифрования)?

Одна идея: вы создаете переходное поле для расшифрованного поля. Например:

@ Transient
private String getDescryptedField () {
    return descrypt (encriptedField);
}