Spring MVC Class 设计的存储库
Repository for Spring MVC Class design
我有一个设计层面的问题。在我们的应用程序中使用 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 模型对象列表定义我的游戏模式。
如果我们采用第二种方法,我们持久化数据的方式是否会有任何变化。
数据访问 Object 就是这样做的。他们如何做取决于您使用的技术;我喜欢使用 Hibernate 进行 CRUD 操作。
我使用术语数据传输 Object 来指代描述我的 API 的 objects。因此,我将定义与我的 RESTful 服务中传递的 JSON 相匹配的 DTO。
我使用 DTO 的 和 实体 objects 将我的 API 与我的数据库分离。它涉及更多处理,但我发现额外的努力是值得的。
如何定义 DTO 取决于您,取决于您如何描述服务 API 中传递的数据。平面结构使用 JDBC 更容易填充;但是,它通常包含大量冗余数据,需要更多的逻辑来处理。一种结构化的方法,其中 header 包含详细信息列表,可能 需要更多的工作来填充,但它避免了冗余并且更容易使用。
我有一个设计层面的问题。在我们的应用程序中使用 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 模型对象列表定义我的游戏模式。
如果我们采用第二种方法,我们持久化数据的方式是否会有任何变化。
数据访问 Object 就是这样做的。他们如何做取决于您使用的技术;我喜欢使用 Hibernate 进行 CRUD 操作。
我使用术语数据传输 Object 来指代描述我的 API 的 objects。因此,我将定义与我的 RESTful 服务中传递的 JSON 相匹配的 DTO。
我使用 DTO 的 和 实体 objects 将我的 API 与我的数据库分离。它涉及更多处理,但我发现额外的努力是值得的。
如何定义 DTO 取决于您,取决于您如何描述服务 API 中传递的数据。平面结构使用 JDBC 更容易填充;但是,它通常包含大量冗余数据,需要更多的逻辑来处理。一种结构化的方法,其中 header 包含详细信息列表,可能 需要更多的工作来填充,但它避免了冗余并且更容易使用。