如何在JSF + Spring + Hibernate中使用DTO
||
假设我是关于DTO主题的新手。
我不知道将DTO与JSF,Spring和Hibernate一起使用是否正确。
让我解释一下,到目前为止,我已经在业务层和表示层中使用了直接从数据库创建的实体bean。
现在,我决定尝试使用DTO方法,但是我不明白它们如何提供帮助。
例如,如果我有两个类User和Message,而一个用户有更多关联的消息;如何从数据库填充DTO?还是在业务层手动填充DTO?
有人可以发布有关如何使用DTO的示例吗?
先感谢您。
问候,
罗伯托
没有找到相关结果
已邀请:
2 个回复
珊畴炮贩号
有很多可用的库,可以通过以下方式简化bean到bean的映射:
但是,对于一般的Web应用程序,您不需要DTO。您已经在使用JPA实体。您可以继续在JSF Bean /视图中使用它们。 仅此一个问题就已经表明您实际上根本不需要DTO。您不受某些特定业务限制的约束。然后,您不应该搜索设计模式,以便可以将其应用到项目中。您应该以过于复杂/无法维护/重复的代码形式搜索实际问题,以便可以为其请求/找到合适的设计模式。通常,重构重复代码几乎会自动引入新的设计模式,而无需您真正意识到它。 一个很好的例子是当JPA实体出于特定目的而“太大”时(即,该实体包含的属性远远超出了您实际需要的属性)。拥有大量那些部分使用的实体会浪费服务器内存。为解决此问题,您可以仅基于您使用JPQL中的构造函数表达式创建和填充的DTO类的某些属性来创建DTO类/子类。 也可以看看: DAO和JDBC有关系吗? JSF控制器,服务和DAO JSF服务层
席酱