拦截Hibernate Criteria Query

时间:2011-08-17 19:50:41

标签: java hibernate orm encryption hibernate-criteria

我正在使用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”。这可能吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

可能,interceptors可以解决您的问题(onLoad - 用于解密信息,onSave用于加密)?