問題タブ [modelmapper]
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.
java - Kotlin データ オブジェクトをデータ オブジェクトにマッピングするより良い方法
一部の「データ」クラス オブジェクトを同様の「データ」クラス オブジェクトに変換/マッピングしたいと考えています。たとえば、Web フォームのクラスからデータベース レコードのクラスへ。
私は Java でこのような作業に ModelMapper を使用していますが、データ クラスが final であるため使用できません (ModelMapper はマッピング定義を読み取るために CGLib プロキシを作成します)。これらのクラス/フィールドを開くときに ModelMapper を使用できますが、「データ」クラスの機能を手動で実装する必要があります。(参照。ModelMapper の例: https://github.com/jhalterman/modelmapper/blob/master/examples/src/main/java/org/modelmapper/gettingstarted/GettingStartedExample.java )
Kotlinでそのような「データ」オブジェクトをマッピングする方法は?
更新: ModelMapper は、マッピング宣言なしで、同じ名前 (tel -> tel など) を持つフィールドを自動的にマップします。Kotlinのデータクラスでやりたい。
更新: 各クラスの目的はアプリケーションの種類によって異なりますが、これらはおそらくアプリケーションの別のレイヤーに配置されます。
例えば:
- データベース(Database Entity)からHTMLフォーム用データ(Model/View Model)へ
- データベースのデータへの REST API の結果
これらのクラスは似ていますが、同じではありません。
これらの理由から、通常の関数呼び出しを避けたい:
- 引数の順序によって異なります。同じ型 (文字列など) を持つ多くのフィールドを持つクラスの関数は、簡単に壊れてしまいます。
- ほとんどのマッピングは命名規則で解決できますが、多くの宣言が必要です。
もちろん同様の機能を持ったライブラリを想定していますが、Kotlinの機能の情報も歓迎です(ECMAScriptで拡散するなど)。
modelmapper - Modelmapper を使用して、デフォルト/引数なしのコンストラクターを持たないクラスにマップするにはどうすればよいですか?
3 つのパラメーターを取るコンストラクターのみを持つソース宛先にマップしたいと考えています。次のエラーが表示されます。
宛先 com.novasol.bookingflow.api.entities.order.Rate のインスタンスをインスタンス化できませんでした。com.novasol.bookingflow.api.entities.order.Rate に非公開で引数のないコンストラクターがあることを確認してください。
ソース宛先に引数なしのコンストラクターを挿入すると機能しますが、それはクラスの誤用につながる可能性があるため、むしろそれを避けたいと思います。
コンバーターを使用してみましたが、うまくいかないようです:
引数なしのコンストラクターを使用して宛先にマップする方法をモデルマッパーに伝えることは可能ですか?
java - プロバイダーと不変オブジェクトによるディープ マッピング
私はこのようなモデルを持っています:
そしてVOは不変です:
ModelMapper
プロバイダーを使用してこのシナリオを Dto から Vo に変換する簡単な方法はありますか?
PersonVo
新しいオブジェクトを作成しているときに、オブジェクトを解析する方法がわからないため、1 つのプロバイダーを使用してそれを理解することはできませんCarDto
...
spring - String から LocalDate に変換する Modelmapper
私の DTO には、文字列形式の日付フィールドがあります。私のエンティティは LocalDate として日付を持っています。現在、マップからスキップし、後で手動で明示的に設定しています(文字列から日付へ、またはその逆)。
自動的に変換することはできますか?Spring Bean 内で Converter を試しましたが、多くのコンパイル エラーが発生します (型 Converter はパラメーターをとらず、convert メソッドをオーバーライドしません。また、convert() にも多くのエラーが発生します)。
私はモデルマッパーにあまり詳しくありません。どんな助けでも大歓迎です。
提案されているように、DTO の LocalDate を試してみましたが、問題は、このエンティティを前に送信すると (REST 呼び出し)、次の JSON を取得することです。
私のフロントエンド開発者は「YYYY-MM-DD」が必要です。
java - キャッシュされた TypeMap を利用するために ModelMapper インスタンスを再利用する必要がありますか?
ModelMapperを使用して、オブジェクト間の簡単なマップを作成しています。
ソース コードで、 と の間にaTypeMap
が存在しない場合、 inメソッドがキャッシュされることに気付きました。sourceObj
destObj
TypeMap
getOrCreate
私が知る限り、このキャッシュはマッパー インスタンスに関連付けられています。つまり、新しい ModelMapper インスタンスを使用して を 2 回目sourceObj
にマップする必要がある場合は、 .destObj
TypeMap
sourceObj
のコレクションをにマッピングしている場合、これはかなり高価な操作であると想定していdestObj
ます。これにより、ModelMapper インスタンスを再利用する必要があるという結論に至りました。
この結論は正しいですか?
ありがとう
for-loop - 値を比較するために 3 つの配列リストをループする効果的な方法
arraylist の 2 つのオブジェクトとorderList
、productList
1 つの String arraylistがありcustomerIdList
ます。
POJOをProductInfo
orderList と productList にマップし、cuustomerId が一致する必要があります。
特定の ProdId の注文または製品リストがない場合は、標準エラーを追加して、ProductInfo エラーにマップする必要があります。
これが私がやっていることです...
サンプル結果...
ArrayList のループとマッピング
これを行うためのより良い方法があるかどうかを知りたいです。また、 POJOModelMapper
にマップSOrder
するために使用しており、他の POJO が利用可能な効率的なモデルマッパーがあるかどうかを知りたいです。ありがとう。Order
ios - Coredata の移行中に、宛先属性マッピングが xcmodelmappingmodel に新しく追加された属性を表示しない
Version
モデルに4つの属性があるcoredataマッピングがあります
appName、authCode、passPhrase、appVersion。
しかし、Coredata の次のバージョンでは、passPharse
エンティティは削除されました。そして、マッピングpassPhrase
はありませんでした。
後でバージョンモデルに別の属性を追加しました
古いパスフレーズ
しかし、エンティティ マッピングVersionToVersion
では、宛先属性のドロップダウンに表示されません。他に3つの属性があります。
oldPassPhrase
xcmodelmappingmodel の宛先属性ドロップダウンで属性を取得するにはどうすればよいですか
java - Modelmapper: リストの要素を POJO のフィールドにマップする
を使用してマップしようとしましmap().setFirstElement(source.getElementList().get(0))
たが、「1) ソース メソッド java.util.List.get( が無効です。メソッドのパラメーターがゼロであり、void を返さないことを確認してください。」というエラーが表示されます。
ModelMapper またはその他の代替手段を使用して、リスト内の要素を Pojo 内のフィールドにマップするにはどうすればよいですか?
modelmapper - ネストされたコレクションのモデルマップ
私は一連の支店を持つ Company エンティティを持っています。エンティティを DTO に変換するときに、ブランチのセットをモデルマッパーを使用するセットに変換することも必要ですBranchDTO
。
私のエンティティ:
CompanyDTO
このエンティティをコレクションとともに転送したいBranchDTO
私のDTO:
プロパティ マップを使用してみましたが、正確な構文がわかりませんでした。以下は空白のBranchDTO
リストです。
どんな助けでも大歓迎です。