2013-06-24 2 views
0

привет, я работаю над веб-проектом с каркасом hibernate Я имел дело с этой ситуацией: у меня есть несколько процедур, каждая процедура - это таблица, каждая процедура имеет свои собственные типы документов и собственные документыКонцептуальная проблема, связанная с hibernate

типов документов также таблица, которая содержит список типов документов, связанных с процедурой, поэтому она является статическим, каждый элемент из определенной процедуры таблицы имеет одни и те же типы документов

но документы еще одна таблица который содержит список документов, которые были отсканированы для элемента с определенной процедуры enter image description here

они много проблем с этим:

первыми нет никакой связи между документом типов таблиц и порядком таблицы; это я при кодировании, что я knwo logiccaly какую таблицу использовать

второй, с кодом Java я переписывания тот же самый код много раз, один и тот же код, только то, что изменяет это имя объекта

вы можете увидеть образец моего кода здесь, в этом question

я думал о стратегии наследования спящем, но я не привык работать с

+0

Возможный дубликат [Общий спящий режим] (http://stackoverflow.com/questions/17189372/generic-hibernate) – sharakan

+0

У меня не было никакого ответа или для этого ни для другого – fatiDev

+0

не указано, но они одинаковы вопрос. Вместо того, чтобы повторять тот же вопрос, вы должны предлагать щедрость (как у вас есть на другом), и подумайте о повторной формулировке своего вопроса, чтобы он стал яснее. – sharakan

ответ

1

Write интерфейсов для классов, чтобы иметь возможность иметь та же логика для всех типов сущностей. Соотношение между классом типа документа и классом процедуры в коде, например, возвращая класс из геттера по интерфейсу.

interface IProcedure 
{ 
    Class getDocumentTypeClass(); 
} 

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

Если вам нужно знать класс, не экземпляр процедуры, вы должны поставить отношения между классами в виде карты.

Вам не нужна стратегия наследования спящего режима. Вы можете решить все это в java. База данных не должна ничего знать об этом.