問題タブ [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 投票する
0 に答える
1378 参照

java - Dozer: 基本クラスからフィールドを削除する

単一の基本クラスを拡張するクラスがたくさんあります。ドーザー マッピングを行っている間、私がやりたいことは、基本クラスのマッピングを 1 つ作成し、サブクラスのマッピング中にそのマッピングを参照することです。

例えば:

だから私が何かをするとき

結果の customMap には valueA が除外されています。

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

java - Dozer マッピングと Hibernate 遅延初期化

私は次のドーザーマッピングを持っています:

com.company.xx.xx.model.MyClass com.company.xx.xx.model.MyClassToMap

遠く 離れた

顧客 顧客

休止状態で MyClass をロードします。しかし、私は顧客のために遅延読み込みをしています。私は顧客からすべてをロードしません。ただし、マッピングは顧客からすべての属性をマップする必要があるため、遅延初期化例外がスローされます。

顧客からのすべてのフィールドではなく、顧客のみをマッピングするようドーザーに指示するにはどうすればよいですか?

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

java - Dozerを使用した値オブジェクトのマッピング

Dozerを使用してDTOをJPAエンティティにマッピングしています。

ユースケースの1つは、既存のエンティティのDTO表現がWSに到着し、JPAを使用してエンティティを検索し、Dozerを使用しmap(source、destination)マッピング方法(map(source、destinationClass)ではありません)。

@Embeddablesとして、エンティティ(Addressなど)にいくつかの値オブジェクト(従来の不変の値オブジェクトのセマンティクス)があります。重要なのは、ドーザーが既存のAddressインスタンスにマップするのではなく、たとえばEmployeeオブジェクトに設定するときに、常に新しいAddressインスタンスを作成するようにすることです。

したがって、次のクラスを使用します。

getAddress()を使用して新しいAddress'フィールドをマップしようとするのではなく、常に新しいAddressインスタンスを使用してdozerがsetAddress()を呼び出すようにします。

これを行う方法はありますか?

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

java - Java、Dozer、Hibernateを使用したデータベースへのDTOマッピングと更新

Dozerを使用してHibernateエンティティをDTOにマッピングしています。簡略化されたサンプルクラスは次のとおりです。


これでマッピングは正常に機能しますが、更新を行おうとすると問題が発生します。データベースに役割(1、「管理者」)があるとします。私のビューでは、最初に更新されたフィールドを使用してDTOを生成します。

最終的に、役割を永続化するクラスはDTOを受け取り、変更を永続化するためにDozerを介してそれをエンティティクラスに変換します。

この時点で、おそらくID列が自動インクリメントとして定義されているために、ロールエンティティがIDを失い、nullIDエンティティを更新できないことは明らかです。

では、IDと更新されたフィールドがすべてエンティティにマップされるように、この問題にどのようにアプローチする必要がありますか?いつでもエンティティオブジェクトを休止状態にして、その各フィールドをDTOのフィールドで更新して保存し直すことはできますが、Dozerを使用する目的全体が無効になります。

助けてくれてありがとう。

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

apache-flex - 関係のないオブジェクトを Hibernate マップする

次のような関係がある状況があります。

人は 1 つ以上の住所を持っています。顧客は 1 つ以上の住所を持っています。

個人、顧客、住所は別のテーブルです。

@OneToMany 関係でこれを行っていました。フレックスクライアントがクライアントで作成され、DBで作成する必要があるオブジェクトを送信しているため、これは問題を引き起こしています。

クライアントが同じアドレスを参照する個人と顧客を送ってきた場合、2 つのアドレス オブジェクトは同じ Java オブジェクトではない (同じポインターではない) ため、休止状態は 2 つのアドレス オブジェクトを作成します。

これは、サーバーへの送信時に新しいオブジェクトを作成する BlazeDS および Dozer によって引き起こされる問題です。

したがって、関係のない人と顧客オブジェクトのアドレスIDが必要なため、休止状態はオブジェクトを作成しません。しかし、個人オブジェクトを読み取るときに、保存されたアドレス ID に基づいて一時的なアドレス オブジェクトを埋めたいと思います。

これが可能かどうか誰にもわかりますか?

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

json - クライアントからサーバーへの(スマート)GWTオーバーレイタイプの受け渡しとHibernate永続性の使用

私たちのプロジェクトでは、ギレアデを利用して、GWTRPCモデルを使用してモデルオブジェクトをクライアント側に渡します。私たちが直面している問題は、処理のためにクライアント側でJSONとの間でシリアル化することが、モデルの成長/変更に伴って問題になっていることです。

エンティティオブジェクトのクライアント側の表現としてオーバーレイタイプを使用することを検討しています。

これをHibernateと組み合わせて使用​​する場合の一般的なアプローチは何ですか?オブジェクトサーバー側を再作成してから永続化する必要がありますか?

クライアント側のオブジェクトを戻し、Dozerを使用してサーバー側のエンティティにマップすることは可能でしょうか?

ありがとう、アンドロス

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

java - コレクションのマッピング

次のクラスがあるとします。

A1.bList には B1 オブジェクトが含まれ、A2.bList には B1 オブジェクトの ID のみが含まれるクラス A1 を Dozer を使用して A2 にマップしたいと考えています。

マッピングはどのようになりますか?

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

0 投票する
4 に答える
6803 参照

java - カスタムドーザーマッピング

Dozerを使用してのインスタンスを変換しようとしています

次のインスタンスに:

Javaコードでは、このような会話を実行します

プロパティ(ゲッターのみ)Targetがないため、Dozerはデフォルトではこの変換を実行しません。foos

実際には、マップする必要のあるこのようなプロパティがたくさんあります。1つのオプションは、プライベートフィールドを直接マップするようにDozerに指示することですが、これは完全に満足のいくものではありません。理由は次のとおりです。

  • Dozer XML構成で、この方法でマップする各フィールドを名前で指定する必要があります
  • プライベートフィールドへのアクセスは悪い

もっと良い方法はありますか?

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

dozer - Dozer を使用してブール値を文字列に変換するにはどうすればよいですか?

私はドーザーが初めてで、文字列をブール値に、またはその逆にマップしようとしています。Dozer はこれをサポートしていますか、それともカスタム コンバーターを作成する必要がありますか。文字列には true または false が含まれるため、直接マップされます。また、XML 構成ではなく Dozer API を使用しています。ご協力いただきありがとうございます