2

データベースから情報を取得するために Hibernate SessionFactory を使用しています。問題は、以下の「encrypted_field」データベース フィールドが暗号化され、SQL クエリが壊れることです。

これは、Hibernate に変換しようとしている古い SQL クエリです。

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

Hibernate でこれを修正する方法はありますか? Hibernate が「order by」基準を ResultSet に適用する直前に「encrypted_field」を復号化できる Hibernate Interceptor を考えています。これは可能ですか?

4

2 に答える 2

1

1 つのアイデア: 復号化されたフィールドに一時フィールドを作成します。例えば:

@ Transient
private String getDescryptedField () {
    return descrypt (encriptedField);
}
于 2011-10-08T17:46:31.257 に答える
0

インターセプターが問題を解決できる可能性があります (onLoad - 復号化情報の場合、onSave の場合は暗号化)?

于 2011-10-08T18:43:27.437 に答える