0

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

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

但是documents是另一个表,其中包含从特定过程中扫描元素的文档列表 在此处输入图像描述

他们对此有很多问题:

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

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

你可以在这个问题中看到我的代码示例

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

4

1 回答 1

1

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

interface IProcedure
{
  Class getDocumentTypeClass();
}

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

如果您需要在没有过程实例的情况下知道类,则应将类之间的关系放入一种映射中。

您不需要任何休眠继承策略。你可以在java中解决这一切。数据库不需要知道任何关于它的信息。

于 2013-06-25T06:01:30.423 回答