Add support for using DB encryption functions to encrypt and decrypt properties.
Although configurable this translates to using MySql AES_ENCRYPT() and AES_DECRYPT(), Postgres pgp_sym_encrypt() and pgp_sym_decrypt(), Oracle DBMS_CRYPTO.ENCRYPT etc.
To use this feature you can mark any property you want encrypted with the @Encrypted annotation.
For H2, MySql, Postgres there is a default DbEncrypt implementation but otherwise you can configure a DbEncrypt implementation.
You will also need to implement the EncryptKeyManager interface to supply keys for the encryption and decryption.
Added code to support the use of local encryption (rather than DB function) to encrypt byte content.
Optionally you can use the local encryption to encrypt other property types as well.
It is expected that DB encryption will be the preferred option for encryption of String content but that can be set via using @Encrypted(dbEncryption=false).
Code in HEAD.
Note that there was issues using the raw query language.
List<EBasicEncrypt> qlList =
.setQuery("where description like :d")
So ready for some more testing again.