2011-08-17 91 views
2

我正在使用Hibernate SessionFactory从数据库中检索信息。问题是现在下面的“encrypted_field”数据库字段被加密并且中断了SQL查询。拦截Hibernate标准查询

这是旧的SQL查询我想转换成休眠:

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

有没有办法在Hibernate中解决这一问题?我正在考虑一些Hibernate Interceptor,它可以让我在Hibernate将“order by”标准应用于ResultSet之前解密“encrypted_field”。这可能吗?

+0

在转换到Hibernate之前,你是如何解密的? – atrain

回答

0

可能,interceptors能够解决您的问题(的onLoad - 解密的信息和对的onSave加密)?

+0

Yup为我工作。第一次听说Hibernate拦截器,有趣... – Marquinio

1

一个想法:你创建一个瞬态字段解密字段。例如:

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