問題タブ [dozer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
22407 参照

java - Dozer文字列から列挙型へのマッピング

私はそのような列挙型を持っています:

文字列に変換する必要があります。その逆も同様です。現在、それはカスタムコンバーターによって行われます。しかし、私はドーザーマッピングを介してそれをやりたいです(可能であれば)。私がドーザー会議にマッピングを書かない場合、私は得ます

例外。デフォルトのパブリックコンストラクターを列挙型に追加することはできません。これは不可能です。だから、私は内部コードとvalueOfCode()/ toString()でトリックを書きました。それは動作しません。それから、私はそれをドーザー構成にマッピングしました:

それは動作しません。一方向マッピングであるvalueOfCode()を試しました。何も機能しません。列挙型から文字列への変換も機能しません。空の文字列を取得します。何か案は?

0 投票する
2 に答える
1369 参照

java - Dozer: フィールド名の戦略を変更

ご存知のように、dozer は 2 つの Bean 間のマッピングに同じフィールド名を使用しますが、このマッピング戦略を簡単に変更するにはどうすればよいでしょうか。

上記のケースでは、フィールドと TO が多すぎるため、マッピング ファイルを定義したくありません。デフォルトのマッピング戦略を変更し、上記のように更新したいだけです: thisField = THIS_FIELD. 何か提案があればありがとう。

0 投票する
2 に答える
6866 参照

java - アノテーション付き Dozer ディープ マッピング

ソース クラスからターゲット クラスSourceEmployee.Address.houseNameへのディープ マッピングをマップできませんTargetEmployee.houseName

ソース オブジェクト クラス

住所クラス

対象物

ソースから宛先へのメインクラスのコピー

0 投票する
2 に答える
9895 参照

dozer - Dozer ファイルが見つからないという例外

以下のドーザーの例を実行しようとしています。XML ファイルは Java ファイルと同じ場所にありますが、ファイルが見つからないという例外が発生します。

完全なファイルパスを指定すると動作しますが、以下の例外が発生します

ソースコード

0 投票する
1 に答える
5121 参照

java - ドーザーで抽象クラスとしてタイプを持つフィールドをマップする方法は?

次のドメイン構造があります。

この次のドーザー マッピングを設定すると、次のようになります。

フィールド Contract.contractor は抽象クラスであり、ドーザーはそれをインスタンス化する方法を推測できないため、私の問題は B から A へのフィールド Contract.contractor のマッピングに関するものです。

Employerしたがって、私の質問は簡単です。フィールド Contract.contractor のマッピングのために、 if type == 'Employer' および他の場所のインスタンスをインスタンス化する必要があることを dozer にどのように示すことができますEmployee か?

ご協力ありがとうございました。

0 投票する
1 に答える
305 参照

java - Dozer: 国際化/ローカリゼーションに対応した CustomerConverter、実装方法は?

私はまだ Dozer を使用していませんが、Dozer は有望なようです。私はかなり多くのドキュメントを読みましたが、ローカリゼーション/国際化に対応した CustomConverter を作成するために何をする必要があるかについては、まだ完全にわかりません。

例: ロケールに応じて、文字列値を日付に変換したいと考えています。私はDTO(ロケールなし)ともちろんロケール(ServletContainer => Browserから)を持っています。ロケールを CustomConverter またはマッピング プロセスに挿入して、ロケール固有の変換に使用し、ロケール オブジェクトにアクセスできるようにするにはどうすればよいですか? (そして、より一般的には、コンバーターで使用できるある種の「コンテキストオブジェクト」を一般的に注入する方法...

これがどのように実装されるか、または可能であれば、非常に大まかな手順を述べてくれて非常に感謝しています。どうもありがとうございました!

0 投票する
2 に答える
4939 参照

java - Dozerを使用してネストされたコレクションを変換する

クラスBのネストされたセットを持つクラスAがあります。

クラスDのネストされたセットを持つクラスCもあります。

Aのリストが与えられたら、どうすればそれをCのリストに変換できますか?ジェネリックを使用しているので、理想的にはマッピングのヒントを提供する必要はありません。例えば:

明らかに、最後の行の構文は正しくありません。それはどうあるべきですか?また、作成するリストまたはセットのタイプをDozerに指示するにはどうすればよいですか?

ありがとう。

ナレシュ

0 投票する
3 に答える
6261 参照

dozer - Dozer 5.3.2 の問題 NoClassDefFoundError

dozer 5.2.2 から 5.3.2 にアップグレードしようとしていますが、次のエラーが表示されます

java.lang.NoClassDefFoundError: クラス org.dozer.DozerBeanMapper を初期化できませんでした

クラスパスとbuild.xmlファイルにあり、ワークスペース内のすべての参照を5.2.2から5.3.2に変更しました。5.1から5.2.2にアップグレードするときに同様のことを行いましたが、うまくいきました。

どんな助けでも大歓迎です。

ありがとう。

0 投票する
1 に答える
5984 参照

java - `this` を Dozer フィールド マッピングに渡す方法は?

私のアプリでは、次のような Dozer マッピングがあります。

MyConverterのインスタンスですConfigurableCustomConverter:

ソース内のコメントに記載されていることがなぜ起こるのですか?

0 投票する
1 に答える
270 参照

mapping - いつマッピング フレームワークを使用し、いつ手動でマッピングするのですか?

DTO などの並列オブジェクト階層について質問があります。
これらの階層は、何らかの形で相互にマッピングする必要があります。最も簡単な方法は、単純なマッピングを手動で使用することです。この場合、あるオブジェクトから別のオブジェクトにプロパティ値を 1 つずつ転送するコードを書くだけです。
この方法は非常に手間がかかりますが、最も可変性が高く、最高のパフォーマンスが得られます。また、そのようなマッピングを書くのはとても簡単です。

もう 1 つの方法は、DOZER などのマッピング フレームワークを使用することです。この方法は面倒ではありませんが、多少の変動性が失われます。一部の複雑なマッピングは、不可能ではないにしても実現が困難です。パフォーマンスも低下します。

だから私の質問は:
いつマッピング フレームワークを使用するか、いつ手動でマッピングするかについての推奨事項はありますか? マッピングの複雑さに依存しますか? それとも、常にマッピング フレームワークを使用する方がよいでしょうか。

前もって感謝します。