我有一个数据库,其中有一个巨大的表,当我从该表中检索数据时,需要将数据分为几个类(将它们视为某种类别),而不是映射到该表的类。
有一个简单的容易做到这一点?更好地将所有数据从数据库接收到映射到表的类并将其拆分吗?
编辑:我忘了提及这一点:哪一个会更有效?
例:
myTable
-------------------------------------------------------------------------------------------
id | someInt 1| some varchar[ ] | etc some cols... |Date| some other int|some other varchar
-------------------------------------------------------------------------------------------
^ ^ ^ ^
|______________________________| |_____________________________________|
Category 1 (ClassA) Category n(ClassN)
最佳答案
无论我是否使用ORM,我仍然希望保留一个直接映射到数据库表的实体类。从本质上讲,这将是一个仅带有getter和setter的bean,可以与您实现的任何DAO一起使用。
您正在谈论的其他对象将称为“域对象”。这些可以包装我上面提到的实体bean(组成),并在该实体上提供特定于域的视图和操作。域与实体的这种分离也导致了更多的模块化代码。
这具有不将实体bean暴露于任何要使用域对象的客户端模块的好处。
祝好运!