エンティティ Bean (JPA 2) の DTO へのマッピングを処理する最良の方法は何だろうと思っています。GWT ではエンティティ Bean を「直接」使用できないため、代わりに DTO を処理する必要があります。
さまざまな関係を持つエンティティがいくつかあります (OneToOne、OneToMany、ManyToMany と結合テーブルなど)。最初に、次のようなメソッドを持つクラス MyEntityTransform.java の助けを借りて、すべてのエンティティを手動で DTO に変換し始めました。
static final public CarBean persistant2Bean(CarPersist) {
return new CarBean(cartPersist.getId(), carPersist.getName(),
carPersist.getDescription());
}
その他のメソッドは、persistent2BeanCollection(...)、persistent2BeanMap(...)、bean2Persistent(...)、bean2PersistentCollection(...) です。
コレクションを処理するとき、特に同じエンティティが他のいくつかのエンティティへの参照を持っている場合、これは面倒な作業になります。
エンティティと DTO 間のマッピングを処理するために DOZER フレームワークを使用することを考えていました。ここで言及されています:http://code.google.com/intl/fr/webtoolkit/articles/using_gwt_with_hibernate.html
ただし、さまざまな JPA マッピング (たとえば、多くの場合) をどの程度うまく処理できるか、および dozer-bean-mappings.xml ファイルで構成するのにどれだけの作業が必要かはわかりません。また、このフレームワークはリフレクションを集中的に使用してマッピング操作を実行していると思います。このようなアプローチは、たとえば MyEntityTransform.java クラスでメソッドを使用する場合など、「手で」実行されるマッピングよりもはるかに遅くなります。
何を指示してるんですか ?GWT で JPA エンティティを処理した皆さんの経験に興味があります。
ありがとう。
セリーニオ