問題タブ [mapstruct]
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 - MapStruct 文字列からリストへのマッピング
文字列をリストに、リストを文字列にマップするにはどうすればよいですか?
次のクラスがあると考えてください
Dozer と Orika では、次のコード行で簡単にマッピングできます
MapStruct で同じ種類のマッピングを行うにはどうすればよいですか? mapstruct の他の例はどこにありますか?
java - Mapstructコレクションマッパーで装飾されたメソッドを使用するには?
依存性注入を使用する Spring アプリで、MapStruct を使用して JPA エンティティから POJO DTO にマップしています。
ドキュメントで指定されているように、デコレータのメソッドに DTO の追加処理を追加しました。
単一のエンティティのマッピングには問題なく機能します。しかし、これらのエンティティのコレクション (セット) のマッピングもあり、これらのエンティティのコレクションがリレーションシップで見つかると、メソッドが自動的に呼び出されます。
ただし、生成されたコレクション マッピング メソッドは、装飾されたメソッドを使用して各エンティティをマップするのではなく、デリゲートで「バニラ」生成メソッドを使用するだけです。生成されたメソッドのコードは次のとおりです。
デリゲート メソッド自体はデコレータを認識せず、個別のアイテム マッピング メソッドを呼び出します。
...そして、コレクション内のアイテムに対して装飾されたメソッドが呼び出されることはありません。
Mapstruct にコレクション マッピングでデコレータ メソッドを使用させる方法はありますか? デコレータでコレクション メソッドを手動で記述する以外に方法はありますか?この種のコードを書く)?
java - mapstruct を使用したネストされたオブジェクトのマッピング
以下のようなマッピングを作成します。(street、city など) のようなフラットな dto オブジェクト プロパティをドメイン オブジェクトのネストされたアドレスにマップする方法。しようとすると、エラーが発生しました:
[エラー] 診断: 戻り値の型に不明なプロパティ "address.postalCode" があります。@Mapping(source = "city", target = "address.city"),
そして授業...
jpa - 戻り型の不明なプロパティ
Play 2.4 Java8 JPA プロジェクトで mapstruct を使用しようとしています。私が行った手順:
追加された依存関係
モデル
従業員Dto
従業員マッパー
しかし、コンパイルエラーが発生します
エラーの原因は何ですか?
mapstruct - Mapstruct - 数式を使用したフィールドのマッピング (例: target="x"、source="a+b")
mapstrcut を使用してエンティティを dto にマップしていますが、DTO に「割引」という余分なフィールドがあり、このフィールドへの入力を管理するには mapstruct が必要であり、このフィールドは 2 に基づいて計算されるという問題に直面しています。値 (salePrice と RetailPrice)。
私の質問は、mapstruct を使用するように、この種のマッピングを行うにはどうすればよいですか。
この行を追加しようとすると、ビルド中にコードが壊れて次のように表示されます。
では、どうすればそのようなマッピングを行うことができますか?
mapstruct - mapstruct SPI を使用した CustomNaming 戦略
別のセッター命名規則を使用して、Bean で mapstruct を動作させようとしています。プロジェクト内のいくつかの Bean は、次のような名前です。withValue(string val)
ドキュメントに基づいて、プロジェクトに AccessorNamingStrategy を実装し、SPI を構成することができます。これに基づいて、独自の NamingStrategy を作成し、プロジェクトに次のファイルを作成しました
/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy
カスタム実装の完全修飾名が含まれています。
しかし、カスタム命名戦略で spi を機能させることができなかったようです。
Options.java を調べてみると、プロパティ " mapstruct.alwaysGenerateServicesFile
" を true に設定する必要があることがわかりました。しかし、intelliJ のアノテーション プロセッサは、どのアノテーション プロセッサにも認識されていないため、このプロパティを拒否しているようです。
このプロパティ " " がhttp://mapstruct.org/documentation/1.1/reference/html/index.html#configuration-optionsmapstruct.alwaysGenerateServicesFile
に記載されていないこともわかります
この機能は MapStruct でまだサポートされていますか? あなたのプロジェクトでカスタム命名戦略が機能している人はいますか?
java - Override a method in Mapper class or customer mapper or attribute mapping- Spring Boot
I have the following DTO,Entity,Mapper classes that persist value in database.I am facing issues in one of those attributes which is of Date column. I input a string in "DD-MM-yyyy" format. However it fails in the mapper class saying its an unparseable date. Am not sure why there is no default date format in the compile time generated class
Database structure
Entity
Snippet from the Mapper Implementation class generated during compile time which is failing and throwing back error saying unparseable date
Code in the service layer which uses mapper class and fails
Custom code in the service layer without using mapper which uses explicitly defined simpledate format which is working fine. Please advise as to how to fix this and use Spring boot way stack since my whole applications is designed around it. It wont be good If I do not use the default supplied mapper class and implementation.