你好,我正在使用hibernate框架开发一个web项目 我正在处理这种情况:我有多个程序,每个程序都是一个表,每个程序都有自己的文档类型和自己的文档
文档类型也是一个表,其中包含与过程相关的文档类型列表,因此它是静态的,来自特定过程表的每个元素都具有相同类型的文档
但文档是另一个表,其中包含为特定过程中的元素扫描的文档列表
他们遇到很多问题:
首先,表类型文档和表过程之间没有关系;编码的时候是我,我知道哪个表使用
第二,用代码java我很多次重写相同的代码,相同的代码,唯一改变的是对象的名称
您可以在此question
中查看我的代码示例我想到了hibernate继承策略,但我不习惯使用
答案 0 :(得分:1)
为类编写接口,以便能够为所有实体类型提供相同的逻辑。通过例如在代码中建立文档类型类和过程类之间的关系。通过接口从getter返回类。
interface IProcedure
{
Class getDocumentTypeClass();
}
class ProcedureOne
{
Class getDocumentTypeClass()
{
return DocumentTypeOne.Class;
}
}
如果你需要知道没有过程实例的类,你应该把类之间的关系放到一种映射中。
您不需要任何休眠继承策略。你可以在java中解决所有这些问题。数据库不需要了解它。