使用hibernate的概念问题

时间:2013-06-24 09:59:45

标签: hibernate java-ee inheritance persistence

你好,我正在使用hibernate框架开发一个web项目 我正在处理这种情况:我有多个程序,每个程序都是一个表,每个程序都有自己的文档类型和自己的文档

文档类型也是一个表,其中包含与过程相关的文档类型列表,因此它是静态的,来自特定过程表的每个元素都具有相同类型的文档

但文档是另一个表,其中包含为特定过程中的元素扫描的文档列表 enter image description here

他们遇到很多问题:

首先,表类型文档和表过程之间没有关系;编码的时候是我,我知道哪个表使用

第二,用代码java我很多次重写相同的代码,相同的代码,唯一改变的是对象的名称

您可以在此question

中查看我的代码示例

我想到了hibernate继承策略,但我不习惯使用

1 个答案:

答案 0 :(得分:1)

为类编写接口,以便能够为所有实体类型提供相同的逻辑。通过例如在代码中建立文档类型类和过程类之间的关系。通过接口从getter返回类。

interface IProcedure
{
  Class getDocumentTypeClass();
}

class ProcedureOne
{
  Class getDocumentTypeClass()
  {
    return DocumentTypeOne.Class;
  }
}

如果你需要知道没有过程实例的类,你应该把类之间的关系放到一种映射中。

您不需要任何休眠继承策略。你可以在java中解决所有这些问题。数据库不需要了解它。