問題タブ [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 に答える
10334 参照

java - Dozer マッピング HashMapリストへ

次のソース オブジェクトがあります。

および宛先オブジェクト:

Dozer を使用してこのマッピングを実行しようとしていますが、ちょっと困惑しています。単体テストとドキュメントのみをトリアージしましたが、私の課題は、探しているものが正確にわからないことです。

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

spring - DozerカスタムコンバーターIDマッピング:DozerConvertergetParameterを介したオブジェクトからロングおよびロングからオブジェクト

ブルドーザーマッピングファイルの設定についてサポートが必要です。

主に、UseruserobejctをLonguserIdに変換する方法を知りたいです。
したがって、map:user >> userId
しかし、comment>>commentIdやaddress>>addressIdなどの複数のオブジェクトがあります

そのため、各フィールドのマッピングを作成するだけでなく、よりエレガントなものが必要です。すべてのオブジェクトは、ロード可能なインターフェイスを実装しています。

以下のコードは、getParameter()DozerConverterメソッドのおかげで機能するようになりましたが、私が書いたコンバーターよりも良い方法を知っている場合は、私に知らせてください。

// dozer.xml

//Springアプリケーションコンテキスト

//標準のHibernateオブジェクト

//DTOオブジェクト

//ロード可能なインターフェース

//ドーザーコンバーター

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

javabeans - Dozer BeanFactory:それを実装する方法は?

私はSourceForgeフォーラムを含むDozerのFAQとドキュメントを見てきましたが、カスタムBeanFactoryを実装する方法についての良いチュートリアルや簡単な例さえ見ませんでした。

誰もが「BeanFactoryを実装するだけ」と言っています。どのくらい正確に実装しますか?

私はグーグルで検索しましたが、表示されるのはjarファイルとjarファイルのソースだけです。

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

hibernate - Dozer: Hibernate PersistentMap が java.util.HashMap にマップされていません

フィールドを持つ Hibernate アノテーション付きエンティティがあります。

Hibernate はこれから PersistentMap を作成します。次に、Dozer に、これをそのようなフィールドを持つオブジェクトにマップしてもらいます。

LazyInitializationExceptions といくつかのデバッグを行った後、これは閉じた Hibernate セッションの問題ではなく、Dozer が HashMap ではなく PersistentMap にマップしようとしていることがわかりました。したがって、Dozer がターゲット マップにアクセスすると、もちろんセッションがないため、PersistentMap は例外をスローします。

だから、Dozer の意図した動作は HashMap にマップすることだと思いました。ここで質問です: 私は何か間違ったことをしていますか、それとも Dozer ですか? Dozer に PersistentMap を通常の Java 標準マップにマップさせるにはどうすればよいですか?

以前はリストを使用しても問題はありませんでした。Hibernate PersistentMap のマッピングに Dozer を使用した人はいますか?

よろしく、 コンスミエラー

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

java - Bean マッピング (Dozer) での Hibernate Persistence の問題

私は Hibernate 3 を使用しており、既存の切り離されたエンティティと関連付けられている新しいエンティティを永続化するときに特定の問題があります。これを説明する最も簡単な方法は、コード サンプルです。FooEntity と BarEntity の 2 つのエンティティがあり、そのうちの BarEntity は多くの FooEntity に関連付けることができます。

Foo と Bar は、さまざまなフィールドの getter を大まかに定義するインターフェイスです。対応する FooImpl クラスと BarImpl クラスがありますが、これらは本質的に注釈のない単なるエンティティ オブジェクトです。

私がやろうとしているのは、FooImpl の新しいインスタンスを構築し、いくつかのフィールドを設定した後にそれを永続化することです。新しい Foo インスタンスの「bar」メンバーは、データベース (session.get(..) 経由で取得) から既存の Bar (ランタイムは BarEntity) に設定されます。FooImpl にすべてのプロパティが設定された後、Apache Dozer を使用して「ドメイン」オブジェクト FooImpl とエンティティ FooEntity の間のマッピングが行われます。Dozer がバックグラウンドで行っていることは、新しい FooEntity をインスタンス化し、一致するすべてのフィールドを設定することです。BarEntity もインスタンス化によって複製され、FooEntity の「bar」メンバーを設定します。

これが発生した後、新しい FooEntity オブジェクトを永続化に渡します。これは例外をスローします:

以下は、発生しているステップのコードです

@Cascade アノテーションを削除または変更することでこの問題を解決できましたが、新しい Bar が既にアタッチされている新しい Foo を追加するなど、将来の使用が制限されます。私が見逃している解決策はありますか?Dozer が Foo の子をマップする方法または Hibernate が切り離された子エンティティにどのように反応するかを変更することによって、この問題がこれまでどこかで解決されていなかったとしたら、私は驚くでしょう。

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

java - Dozer: 単一フィールドを Set にマップする

Dozerで単一のフィールドをどのようにマッピングしますSetか?

私は次のようなクラスを持っています:

barbazをリストにマップしたいのですidsが、これを行うことができません。

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

java - Dozer:リストのマッピング中にクラスキャスト例外

2つの値オブジェクト(ValueObjectAとValueObjectB)があり、それぞれにname1とname2があります。

次に、2つのリストがあり、それぞれが値オブジェクトの1つを保持しており、ドーザーでマップする予定です。

マップされた'listOfB'にアクセスするとすぐに、クラスキャスト例外が発生します。これは、ドーザーがValueObjectAタイプのオブジェクトをValueObjectsBのリストにマップするためです。

リストを反復せずにこれら2つのリストをマップし、オブジェクトごとにマップすることは可能ですか?

サンプルコード:

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

java - ドーザーマッパーを使用しています。フィールドが空の場合、デフォルト値をフィールドに設定するにはどうすればよいですか?

多くの文字列フィールドを変換する必要があり、フィールドが空の場合は、独自の値を設定したいと考えています。どうすればできますか?すべてのフィールドにセッターを書き込みます。これは最善の解決策ではないと思います。この操作のためにドーザーマッパーにオプションはありますか?
また、独自のコンバーターを作成することもできますが、知りたいのですが、普遍的なソリューションはありますか?

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

java - カスタムコンバーターを使用した Dozer 双方向マッピング (文字列、文字列) は不可能ですか?

カスタム コンバーターを使用した Dozer マッピングがあります。

そしてコンバーター:

一方向 (Customer -> CustomerDAO) でマッパーを呼び出すと、メソッド「convertTo」が呼び出されます。

Dozer は双方向のマッピングを処理できるため、マッパーを反対方向に呼び出すとすぐに、メソッド「convertFrom」が呼び出されることを期待しています。

ただし、メソッド convertTo は呼び出されません。

問題は、両方のタイプが文字列であることだと思いますが、どうすればこれを機能させることができますか?

回避策として、一方向マッピングを 2 つ作成しました。これは標準的な解決策ですか、それとも動作はバグですか?

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

java - Dozer を使用してプリミティブ クラス (文字列、ブール値など) を相互にマッピングする

Dozer を使用して、プリミティブ クラスから相互に自動的にマップしようとしています。最終的に、コードは次のようになります。

Dozer は when in a bean へのマッピングをサポートStringしていますがBoolean、直接マッピングするとBoolean次の例外が発生するようです。

Dozer が Boolean 自体をインスタンス化しようとしていることは明らかです。Boolean を String に変換する顧客を作成できますDozerConverterが、Dozer が既に持っているコードを再実装したくありません。Dozer をプリミティブ型との間で直接マッピングする方法はありますか?