2016-08-24 7 views
0

私のアプリケーションでは、@Typeアノテーションを使ってjasyptの暗号化を有効にしました。しかし、暗号化なしでアプリケーションをデプロイする必要があるときは、@Typeアノテーションの属性を次のように変更する必要があります。現在私はこの操作を手動で進めています。これを構成可能にする方法はありますか(@Typeアノテーションの属性値を取得する構成値に従って)?ありがとう。Hibernate @Typeアノテーションの属性を設定する方法

@Entity 
@Table 
public class Data { 

    @Id 
    private Integer id; 

    @Type(type = "encryptedString") // Need to enable for Encryption 
    @Type(type = "org.hibernate.type.TextType") // Need to enable for Non Encryption 
    private String data; 
} 
+1

JPAには、このような「@タイプ」アノテーションはありません。 Hibernateは明らかに '@ Type'アノテーションを持っていますが、それはJPAではありません。 –

+1

サービス層の暗号化を扱い、実行時環境に基づくEncryptionクラスのさまざまな実装を、たとえばSpringプロファイルを使用してスワップします。 –

+0

質問欄を「Hibernate @Typeアノテーションの属性を設定する方法」として修正しました。ありがとう。 – Channa

答えて

0

「JPAエンティティライフサイクルコールバックメソッド」を使用して、暗号化と復号化を設定可能なパラメータとして処理しました。 Hibernateは暗号化と復号化の責任を負いません。アプリケーション関連のDTO自体は明示的に暗号化と復号化関連の操作を進めます。

関連する問題