映射到表的对象

时间:2009-07-19 23:32:45

标签: sql oop

对于具有OO前端和SQL后端的程序,可以将每个父类映射到其自己的表,并且每个子类映射到它自己的表,然后在查询中使用连接以允许返回所有子类的属性?如果是的话,是否可取?

3 个答案:

答案 0 :(得分:1)

当然,您可以使用ORMHibernateEntity Framework工具来实现这一目标。至于它是否可取,这是一个宗教问题 - 我尽量不回答这些问题。 :)

答案 1 :(得分:1)

这是非常可能的并且相当普遍。当您具有最小的子类时,它也可以很好地工作,并且业务逻辑可以轻松映射到正在使用的对象。但是,由于映射层只有一点可扩展性,因此您可以轻松创建多个表组合的对象,甚至可以创建子类。 (我写过这样的图层并注意使这种钩子成为可能。)

建议始终使用数据映射层,因为您不希望过多的SQL乱丢您的代码。 OTOH,如果你的类结构更具层次性而不是关系性,你可能会看一个OO数据库(我听说PostGreSQL可以做到这一点)和一个合适的映射层。

答案 2 :(得分:0)

是的,这是可能的。对象关系映射框架,例如NHibernate和Hibernate为您处理这些事情。