Я пытаюсь отобразить выгружаемые данные из объекта домена grails. Например: У меня есть объект домена Employee со свойствами firstName и lastName, которые являются временными, и при вызове их методов setter/getter они шифруют/дешифруют данные. Данные сохраняются в базе данных в зашифрованном двоичном формате, поэтому не сортируются по этим полям. И все же опять же, не сортируемые по переходным режимам, как указано в: http://www.grails.org/GSP+Tag+-+sortableColumn.Результаты запроса и заказа базы данных в граале с использованием переходных полей
Так что теперь я пытаюсь найти способ использовать переходные процессы по аналогии с:
Employee.withCriteria(max: 10, offset: 30){
order 'lastName', 'asc'
order 'firstName', 'asc'
}
Класс:
class Employee {
byte[] encryptedFirstName
byte[] encryptedLastName
static transients = [
'firstName',
'lastName'
]
String getFirstName(){
decrypt("encryptedFirstName")
}
void setFirstName(String item){
encrypt("encryptedFirstName",item)
}
String getLastName(){
decrypt("encryptedLastName")
}
void setLastName(String item){
encrypt("encryptedLastName",item)
}
}
Спасибо за список вариантов, они идут по строкам, что я ожидал. Я уверен, как избежать первого, так как он может съесть много памяти приложений. Второй должен работать, если моя база данных (MySQL 5.0) поддерживает AES_DECRYPT, а для последнего - мне очень хотелось бы узнать, есть ли хороший хэширование alghoritm, который сохраняет заказ, но не утечка информации. – Azder