【问题标题】:Intercept Hibernate Criteria Query拦截休眠条件查询
【发布时间】:2011-08-17 19:50:41
【问题描述】:

我正在使用 Hibernate SessionFactory 从数据库中检索信息。问题是下面的“encrypted_field”数据库字段现在已加密并破坏了 SQL 查询。

这是我试图转换成 Hibernate 的旧 SQL 查询:

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

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

【问题讨论】:

  • 在转换为 Hibernate 之前你是如何解密的?

标签: java hibernate orm encryption hibernate-criteria


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 是的,为我工作。第一次听说 Hibernate 拦截器,很有趣……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多