【发布时间】:2010-11-14 11:34:06
【问题描述】:
我试图通过在不同的上下文中使用不同的实体来明确我的域。在数据库中,这些实体将被持久化在同一个表中。我有以下类层次结构:
- 一个名为 Person 的抽象类(带有 id 和名称);
- User 类,它扩展了 Person(带有登录名、密码和角色);
- Vendor 类,它还扩展了 Person(带有一组交易);
这样,我在销售上下文中使用 Vendor 类,在登录上下文中使用 User 类。问题是每个人都被用户的管理上下文插入到系统中。这样,数据库中的每一行都具有值为“用户”的鉴别器列。我希望能够将数据加载为供应商实例(在销售上下文中工作时)并使用它来持久化销售对象(它将有一个供应商实例),但在数据库中,它指的是用户表.
简而言之:在数据库中,我有用户表,在我的域中可以表示两个实体:用户和供应商。它们必须始终作为用户持久存在,但必须根据其上下文加载。我如何在休眠中映射它,因为使用子类元素会使每个实例都作为用户加载(因为它们被保存为用户)?
【问题讨论】:
标签: hibernate mapping domain-driven-design