問題タブ [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.
mapping - Dozerでマッピング中に中間クラスのcreateメソッドを定義する方法
これが私のシナリオです。「com.project.ClassA」と「com.project.ClassB」の2つのクラスがあり、フィールドClassA.nameをClassB.person.nameObj.firstNameにマップしようとしています。
ご覧のとおり、Dozer はマッピングを行う前に person オブジェクトと nameObj を作成する必要があります。Person オブジェクトと NameObj オブジェクトを開始するためのファクトリ クラスがいくつかあります。
フィールドおよびクラス レベルでカスタム create メソッドを定義できることはわかっていますが、それはマッピングしているフィールドまたはクラスにのみ適用されます。私の例では、マッピングは 2 つの文字列フィールド間ですが、マッピングを実行する前に 2 つのオブジェクトを作成する必要があります。
私が今得ているエラーは org.dozer.MappingException: java.lang.NoSuchMethodException: com.project.ClassB.Person.() です
どんな助けやアイデアも大歓迎です。ありがとう。
java - 非ジェネリック コレクションをプロパティにマッピングする Dozer
次のようなクラス構造があります。これらのクラスは休止状態のクラスなので、変更できません。
マッピングファイル
しかし、このcustomer.nameParts[0].nameのマッピングは、ドーザーがセット内のオブジェクトを認識していないため機能しません。回避策はありますか。
これがカスタム コンバーターによってのみ実行できる場合は、サンプル コード テンプレートのヒントを歓迎します。
dozer - コードへのブルドーザーマッピングの説明
Dozerを使用して、WebServiceインターフェイスから出力されるJAXBオブジェクトをドメインオブジェクトにマップしています。JAXBの要素またはプロパティの1つは、String set / setLocation()です。これは場所の説明になります。バックエンドで必要なのは、その文字列を取得して、データベースに保存されるコードにマップすることです。DozerのWebサイトとjunitテストを調べましたが、例として使用できるものは何も見つかりません。これを行うためのカスタムセッターマッパーを作成できることを望んでいましたが、最初に使用できる例を探しています。どんな助けでもいただければ幸いです。
java - Dozer Converter マップ文字列から文字列へ
私は Dozer を使用しており、WebService からの JAXB オブジェクトを、アプリケーションのサービス層にあるビジネス オブジェクトにマッピングしています。いくつかの特定のケースでは、文字列値のコードを文字列値の人間が読める説明にマップする必要があります。例: "FLT" は "FLAT" にマップされ、"TRP" は "TRAP" にマップされます。私はこれらの型マッピングをたくさん持っています。
DozerConverter を継承し、convertTo () とconvertFrom ()の 2 つの抽象メソッドを実装する ことで、カスタムDozerコンバータを実装しています。これらの中で、「FLT」を「FLAT」に、「FLAT」を「FLT」にそれぞれマップしたかったのですが、残念ながら Dozer は正しいconvertTo () またはconvertFrom () メソッドを正しく呼び出しません。
他の誰かがこの問題を抱えていて、私を正しい方向に向けることができますか? ありがとう
dozer - DTO が DOZER マッピング ファイルのハッシュマップ内にある場合に DTO 属性にアクセスする方法
userID フィールドを持つ UserDTO があります。HashMap には、この DTO がキー User_Details の値として含まれています。
DOZER マッピングを使用して、 userID 属性をHashMap->User_Details->userIdから属性UserDisplayDTO->userIdに設定したいと考えています。
Dozer XML マッピングでこれを行うにはどうすればよいですか?
java - Dozer は Hibernate の persistentBag を List にマップできません
私は大学の課題としてJavaで残りのWebサービスを実装しているので、そのようなことはまったく初めてなので、おそらく間違った方法でやっています。
PersistentBag
とにかく問題は、Dozer が Hibernateを にマップできないことjava.util.List
です。
私は2つのクラスをマッピングしています:A
とB
,
にマッピングされます
DepartmentsType
というプロパティが 1 つだけあります。
したがって、最終的にA.departments
は にマッピングされB.departments.departments
ます。実際、これはマッピングです。
これが私が定義する方法ですA.departments
(Hibernate):
これは私が定義する方法ですB.departments
:
そして、最終的には次のようDepartmentsType.departmens
に定義されます。
a にマップしようとするたびに、class A
Dozerからclass B
a を取得します。Field Mapping Error
例外スタックは、このコードに問題があることを示しています。
ただし、すべてにマップclass B
すると、期待どおりに機能します。class A
いくつかの理由から、Hibernate は私が定義したものをそれ自身に変えようとしていることは知っていList
ますPersistentBag
が、これはList
それ自体である必要があります。
何が間違っているのか、Dozer が にマップできるのに にマップできない理由を見つけることがA
できませB
ん。B
A
前もって感謝します
java - Dozer: デフォルト コンストラクターのないクラスのマッピング
次の2つのクラスをマップしたいとしましょう:
Dozer に次の変換を実行させたい場合: dozerBeanMapper.map( a, B.class );
class のデフォルト コンストラクターがないため、エラーが発生しますB
。
その問題を解決する最善の方法は何ですか? カスタム コンバーターを使用しますか?
java - Dozer 5.3.2 を初期化できません
Dozer を 5.3.2 に更新しました。ドーザーが初期化しようとすると、このメッセージが無限に表示されます。この問題を解決するにはどうすればよいですか?
|11:06:25| INFO|zer.DozerInitializer| | | - ドーザーの初期化。バージョン: 5.3.2、スレッド名: メイン |11:06:25| INFO|zer.DozerInitializer| | | - ドーザーの初期化。バージョン: 5.3.2、スレッド名: メイン |11:06:25| INFO|zer.DozerInitializer| | | - ドーザーの初期化。バージョン: 5.3.2、スレッド名: メイン
dozer - Dozer マッピング ファイルを介してプロパティに値を設定する方法は?
Dozer マッピングを使用しています。私は2つのpojo1とpojo2を持っています。pojo2 にマップされる pojo1 の値。Pojo1 には 3 つのプロパティがあり、Pojo2 には 4 つのプロパティがあります。pojo1 から pojo2 に 3 つのプロパティをマップできますが、4 つ目のプロパティをマップするには、pojo1 にプロパティがありません。4 番目のプロパティをマップするには、pojo1 から値を取得できません。直接、Enum から値を取得する必要があります。マッピングファイルを介してプロパティに価値を与えることは可能ですか?
pojo1 の 4 番目のプロパティからではなく、直接 enum からの値
ありがとう!
scala - Java / ScalaオブジェクトをProtocolBuffersメッセージに変換する方法は?
Java/ScalaオブジェクトをProtocolBuffersメッセージに変換しようとしています。
私のオブジェクトが呼び出されIDSNumber
、doubleValue
を返すメソッドがありますjava.lang.Double
。Dozerオブジェクトの変換中に自動的にdoubleに変換されるようにしようとしています。
ここで、ScalaでDozerカスタムコンバーターを作成しました。
My Protocol Buffersメッセージは次のようになります(タイプから変換する必要がありますshortFee
) 。longFee
IDSNumber
私は次のようにコンバーターを使用しようとします:
上記のコードを実行すると、との代わりにとのmsg
両方が設定されます。私が間違っていることについて何か考えはありますか?おそらく、これらのオブジェクトを前後に変換するためのより良い方法(より良いライブラリ?)がありますか?ありがとう!shortFee
longFee
0.0
2.0
3.0