Model view controller 我应该根据数据库中的数据结构创建模型类吗?

Model view controller 我应该根据数据库中的数据结构创建模型类吗?,model-view-controller,model,struts,Model View Controller,Model,Struts,我在数据库中有预定义的表,在此基础上我必须开发一个web应用程序 我的模型类是否应该基于表中的数据结构 但一个问题是,这些表的定义非常糟糕,而且其中有很多我无法更改的冗余数据 在两个表中,三列是相同的 Table: Student_details Student_id , Name, AGe, Class ,School Table :Student_address Student_id,Name,Age, Street1,Street2,City 我认为你应该以最适合使用的方式制作模型。

我在数据库中有预定义的表,在此基础上我必须开发一个web应用程序

我的模型类是否应该基于表中的数据结构

但一个问题是,这些表的定义非常糟糕,而且其中有很多我无法更改的冗余数据

在两个表中,三列是相同的

Table: Student_details
Student_id , Name, AGe, Class ,School

Table :Student_address

Student_id,Name,Age, Street1,Street2,City

我认为你应该以最适合使用的方式制作模型。不要担心数据是如何存储的或存储在哪里的。。。否则,为什么要经历代码分层的麻烦呢。为什么不在视图中直接执行DB查询呢?因此,如果您要创建数据的抽象。。。模型制作一个围绕如何使用它而设计的。。。这似乎是一个有风险的项目——大概有另一个应用程序填充了这些表。从关系的角度来看,数据模型不是很完善,我猜应用程序中有一堆业务/数据逻辑——例如,将学生年龄放在StudentAddress表中

我支持jsobo建议您独立于底层持久性机制构建业务逻辑,并尽量保持模型以领域为中心,而不过分强调数据库的结构


但是,您应该计划花费一定的时间将域模型转换为各自的数据表示形式,并处理数据模型带来的任何怪癖。我强烈建议将所有这些内容包含在一个单独的翻译层中-不要在应用程序的其余部分乱扔它。

因此,根据您的方法,对于上述场景,我应该使用什么??在struts应用程序中,我应该把我的数据处理逻辑放在哪里?我使用一个业务逻辑-数据访问对象