Model view controller 从联接查询填充模型对象的最佳方法?

Model view controller 从联接查询填充模型对象的最佳方法?,model-view-controller,model,Model View Controller,Model,我正在建立一个小型金融系统。由于复式记账,交易总是以两个或两个以上的批次进行,因此我有一个批次表和一个交易表。(交易表具有批次id、账户id和金额字段,并且日期和说明等共享数据被归入批次表) 到目前为止,我一直在为每个表使用基本的vo类型模型。但是,由于这种表结构,事务几乎总是通过批处理表上的联接进行选择 因此,我应该将所选记录拼接到两个单独的vo对象中,还是应该创建一个包含批处理和事务数据的“共享”vo 在一些情况下,批处理记录和/或事务记录是单独加载的,因此它们也都有其关联的vo类。如果我有

我正在建立一个小型金融系统。由于复式记账,交易总是以两个或两个以上的批次进行,因此我有一个
批次
表和一个
交易
表。(交易表具有
批次id
账户id
金额
字段,并且
日期
说明
等共享数据被归入
批次
表)

到目前为止,我一直在为每个表使用基本的vo类型模型。但是,由于这种表结构,事务几乎总是通过
批处理
表上的联接进行选择

因此,我应该将所选记录拼接到两个单独的vo对象中,还是应该创建一个包含批处理和事务数据的“共享”vo


在一些情况下,
批处理
记录和/或
事务
记录是单独加载的,因此它们也都有其关联的vo类。如果我有这样的“重叠”vo类,是否会有可能出现陷阱?

最好的方法不是将模型绑定到数据库表,而是绑定到视图。例如,如果视图有日期字段,则使用“共享”视图对象(理想情况下,甚至是特定于视图对象),如果视图只有事务信息,则使用另一个对象等。这可能会很繁琐,但分离关注点是值得的。在适当的情况下,可以通过重用/继承来纠正过多的重复。

最好的方法不是将模型绑定到数据库表,而是绑定到视图。例如,如果视图有日期字段,则使用“共享”视图对象(理想情况下,甚至是特定于视图对象),如果视图只有事务信息,则使用另一个对象等。这可能会很繁琐,但分离关注点是值得的。如果需要,可以通过重用/继承来纠正过多的重复。

您是指数据库意义上的“视图”,还是指MVC意义上的“视图”。例如表格、页面等。啊,明白了。我的头卡在了数据访问层。谢谢你是指数据库意义上的“视图”,还是指MVC意义上的“视图”。例如表格、页面等。啊,明白了。我的头卡在了数据访问层。谢谢