2016-11-06 1 views
1

jsonインターフェイスを使用しているクラスは、 jpaではなく、注釈などを無視して追加する必要があります)。制作には2つのクラスセットが必要ですか?この場合、私たちはたくさんの "配管コード"を持っていますが、どうやってこの問題を解決していますか?多くのチュートリアルでjsonとjpaオブジェクトをマッピングする作業を制限する方法

+0

例えば、私たちにはidとアイテムのコレクションを持つenity Personがあります。JPAオブジェクトとしては、オブジェクトのField Collectionがありますが、restインターフェイスではItemのID – pustypawel

答えて

1

私はあなたに同意します:永続性(JPA)モデルとサービス用モデル(ここではJSON)が必要です。

この場合、私たちは多くの "配管コード"を持っていますが、どうすれば この問題が解決しますか?

ロジックレイヤ間の抽象化と責任の分離にはコストがかかります。
パフォーマンス、セキュリティ、またはコードの保守性を向上させるために、JSONのオブジェクトを軽くしたい場合は、配管コードが必要です。
清潔で効率的なコードを書くことにはコストがかかります。

JSON以前は同じ問題がありました。
したがって、配管コードを避けるために、クラスを可能な限り同じに保ち、2つの異なるレイヤーに配置された同じものを表す2つのオブジェクト間のバリエーションが適切な場合にのみ導入するようにしてください。もちろん、第三者libによって効率的に提供されるリフレクションによるマッピングを使用する。

jacksonとjackson-databindを使用する場合は、すぐに使えるクラスを用意してカスタムマッピングを行うことができますが、クラスのマッピングが非常に特殊な場合は、そのクラスのマッピングを手作業で作成する必要があります。
多くのボイラープレートと配管コードを書くのを避けるために、jsonでのObjectのコレクションとjsonのIDのコレクションである では、この必要性が非常に一般的であれば、この必要性を処理するためのユーティリティクラスを開発することができます任意のエンティティに対して。

関連する問題