为了账号安全,请及时绑定邮箱和手机立即绑定

Spring MVC 类设计的存储库

Spring MVC 类设计的存储库

明月笑刀无情 2021-07-02 15:15:08
我有一个设计层面的问题。在我们的应用程序中使用 DAO 或 DTO 之间存在争论。我浏览了现有的帖子,了解到 DTO 仅在表示复杂对象时使用。但是,我的视图可以仅使用对我的表的连接操作来生成。数据库:表格:game game_details (has a primary key of Game) - There will be at max 4 rows for a given game_id我的视图包含表 game 和 game_details 中的所有列。这 4 行中的每一行都将显示在不同的选项卡中。对于视图中的每次更改,有 3/4 的概率更新两个表。现在最好的方法是什么。1. 将整个视图包装为 DTO。2. 或者使用 GameDetails 模型对象列表定义我的模式 Game。如果我们采用第二种方法,我们的数据持久化方式会有任何变化。
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

数据访问对象就是这样做的。他们如何做到这一点取决于您使用的技术;我喜欢 Hibernate 进行 CRUD 操作。

我使用术语数据传输对象来指代描述我的 API 的对象。因此,我将定义与我在 RESTful 服务中传递的 JSON 相匹配的 DTO。

我使用 DTO实体对象将 API 与数据库分离。它涉及更多的处理,但我发现额外的努力是值得的。

如何定义 DTO 取决于您,取决于您如何描述在服务 API 中传递的数据。使用 JDBC 填充扁平结构更简单;然而,它通常包含大量冗余数据,需要更多的逻辑来处理。结构化方法,其中 header 包含详细信息列表,可能需要更多的工作来填充,但它避免了冗余并且更容易使用。


查看完整回答
反对 回复 2021-07-14
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信