【问题标题】:Conceptual issue working with hibernate使用休眠的概念问题
【发布时间】:2013-06-24 09:59:44
【问题描述】:

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

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

但documents是另一个表,其中包含从特定过程中扫描元素的文档列表

他们对此有很多问题:

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

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

您可以在此question 中查看我的代码示例

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

【问题讨论】:

  • Generic hibernate的可能重复
  • 我没有任何答案,也没有其他答案
  • 注意到了,但它们是同一个问题。而不是重新发布相同的问题,您应该提供赏金(就像您在另一个问题上所做的那样)并考虑重新措辞您的问题,以便更清楚。

标签: hibernate jakarta-ee inheritance persistence


【解决方案1】:

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

interface IProcedure
{
  Class getDocumentTypeClass();
}

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    相关资源
    最近更新 更多