2011-08-17 163 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); 
}