【发布时间】:2014-04-05 04:11:05
【问题描述】:
我有一个关系模型,其中实体通常与两个限定符 start_date 和 end_date 建立关系,以便保留过去关系的历史记录。
当遇到使用 Hibernate 创建数据模型的任务时,我遇到了处理这些打破通常多对多关系案例的关系的问题。例如,假设 user 可以拥有特定的访问权限 permission(这实际上是一个真实案例),我们想要对用户拥有的权限历史进行建模:
| USER | | has_permission | | PERMISSION |
|--------| |----------------| |------------|
| userId |------|userId |------|permissionId|
| user | |permissionId | |permission |
---------- |start_date | -------------
|end_date |
------------------
现在你将如何在类模型中做到这一点?在常规情况下,创建带有Permissions 列表的User 类不再有效。鉴于我有很多实体,我不想最终得到很多“HasX”类,这些类只包含另一个引用以及 startDate 和 endDate。
解决这个问题的常用方法是什么?
我使用 Hibernate,但我猜答案与语言无关。
【问题讨论】:
标签: java hibernate class language-agnostic uml