Properties annotated with ColumnTransformer will force table scans when included in where
clauses
-------------------------------------------------------------------------------------------------
Key: HHH-6546
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-6546
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.6.5
Environment: Hibernate 3.6.5
MySQL 5.1.52
Reporter: James K
I have a column annotated with a ColumnTransformer as such:
{code}
@ColumnTransformer(read = "AES_DECRYPT(UNHEX(secret), 'password')",
write = "HEX(AES_ENCRYPT(?, 'password'))")
private String secret;
{code}
If I use this column in a query then the following where predicate is generated:
{code}
where AES_DECRYPT(UNHEX(webuser0_.secret), 'password')=?
{code}
This where is guaranteed to run a full table scan and execute the decrypt & hex
functions on every column.
It would be better if the generated SQL were as follows:
{code}
where webuser0_.secret=HEX(AES_ENCRYPT(?, 'password'))
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira