我有一个Tomcat应用程序,它使用从Eclipse / JPA自动生成的实体。然后,我手动编码了与数据库接口的DAO。
我认为保持实体简单有很大好处。例如规范说它必须有一个空白的构造函数。如果数据库架构发生变化,我可以将它们重新分配。但我很想扩展它们。
有几个问题......
如果我创建一个新实体,我希望某些字段具有非空值。如果我有一个空的构造函数,我不能在那里做。例如status ='新',创建日期=新日期()等
我意识到我可以使用工厂。但是现在应该在DAO中说出来吗?例如DAO.getNewObject()?
同样,如果我想使用测试或验证逻辑,它会去哪里?例如完整性得分=如果填写姓名,地址,电话等?这种东西应该生活在DAO吗?还是实体?或者是其他东西?
我是否应该有一个扩展实体的新类并将逻辑放在那里?
是否认为某种建筑物被某处覆盖?
答案 0 :(得分:0)