我想知道处理实体bean(JPA 2)到DTO的映射的最佳方式是什么。 由于您不能直接使用实体bean和GWT,所以您需要改为处理DTO。GWT +实体+ JPA + DTO +推土机
我有几个实体与各种关系(OneToOne,OneToMany,ManyToMany与连接表等)。 最初我开始用手将所有实体DTO的一类MyEntityTransform.java的帮助下用类似的方法:
static final public CarBean persistant2Bean(CarPersist) {
return new CarBean(cartPersist.getId(), carPersist.getName(),
carPersist.getDescription());
}
其它方法有:persistent2BeanCollection(...),persistent2BeanMap(...),bean2Persistent (...),bean2PersistentCollection(...)
这在处理集合时变成了一项挑剔的工作,特别是当同一个实体引用了其他几个实体时;
我一直在考虑使用DOZER框架来处理实体和DTO之间的映射。 在此mentionned:http://code.google.com/intl/fr/webtoolkit/articles/using_gwt_with_hibernate.html
但是我不知道它如何妥善处理各种JPA映射(多对多例如),有多少工作是配置它在推土机豆-mappings.xml文件。 另外我猜这个框架是密集使用反射来执行映射操作。这种方法比“手动”执行的映射慢得多,例如,当我在MyEntityTransform.java类中使用方法时。
你有什么建议?我对大家使用GWT处理JPA实体的经验感兴趣。
谢谢。
Celinio
http://www.celinio.net/techblog
感谢您的反馈。不确定我会做什么,因为性能可能会受到影响,因为Dozer密集使用反射来将实体映射到DTO。 – 2011-05-02 04:28:05
看看Dozer FAQ:http://dozer.sourceforge.net/documentation/faq.html#dozer-perf。当性能真的成为一个问题时,您担心我认为在开始项目之前您必须对不同的框架进行基准测试。 – malte 2011-05-04 12:10:58