5

私は現在、アプリケーションで DTO を BO (およびその逆) に手動でマッピングしています。ただし、この方法は扱いにくく、扱いにくいものです。

これら 2 つの表現の間に適切なマッパーはありますか?

私の要件は次のとおりです。

  • JPA プロキシから識別子への変換をサポートする必要があります (DTO は他の DTO に直接リンクしないでください)。または、この機能は簡単に実装できるはずです
  • 注釈ベースであり、構成よりも規約が必要です
  • 柔軟な基準: 複数の DTO を 1 つのエンティティにマッピングできるようにする必要があります (逆も同様)。

提案をありがとう。

4

3 に答える 3

9

私がお勧めするオブジェクトマッピングについて

また、このSOの回答も参照してください。Java オブジェクト マッパーの多かれ少なかれ完全なリストがあります: https://stackoverflow.com/a/1432956/1137735

私が提案した3つは、私にとってより魅力的に見えました。それらはすべてあなたが求める要件を満たしていると思います。

于 2013-01-25T14:30:47.137 に答える
5

このスレッドが少し古いことは知っていますが、@ miguelcobainの回答は素晴らしいと確信しています。

個人的には、ランタイム システムに Orika使用することをお勧めします。これは強力で、実行時にバイト コード生成を使用するため、常に Reflection API を使用するのではなく、生成されたコードによってマッピングが処理されます。リストされている他のライブラリは、規則ではなく、常に複雑な構成を使用しています。

2番目の解決策とより良い解決策は、 Selmaを使用することだと思います。この短いライブラリがその役割を果たしますが、実行時にマッピングを処理する代わりに、アノテーション プロセッサを使用してコンパイル時にマッピング コードを生成します。したがって、コンパイラはマッピング エラーを発生させます。これはリファクタリングの証拠であり、生成されたコードを確認できます。

ぜひお試しください。

于 2014-05-21T08:47:25.963 に答える