Почему бы вам просто не «жестко закодировать» это имя класса? Это общепринятый подход, когда дело доходит до регистраторов
public abstract class AbstractDAProcedureMenuReceivedHandler<T extends AbstractDAProcedureMenuReceivedEvent> extends DaCommonEventHandler<T> {
private static final Logger logger = LoggerFactory.getLogger(AbstractDAProcedureMenuReceivedHandler.class);
...
}
, любое другое решение - быть честным излишним для этого
Вы могли бы хотеть к контролю эту книгу по Рефакторингу Баз данных: Эволюционное Проектирование баз данных.
Я предлагаю использовать непрерывное (или по крайней мере ночью) стратегия сборки.
Восстановите базу данных по каждой регистрации, или по крайней мере однажды в день.
Также однажды в день, выполненные модульные тесты, чтобы осуществить каждый бит кода, быть этим в сохраненном procedur, триггере или уровне доступа к данным.
Существует большая стоимость для записи сохраненного procs, но это сразу определит повреждения.
После того как Вы знаете, где повреждение, можно зафиксировать его.
Мне было бы интересно слышать, что опыт других людей с этой стратегией относился к изменениям базы данных.
Мы используем Архитектора Предприятия для наших определений DB. Мы включаем хранимые процедуры, триггеры и все определения таблицы, определенные в UML. Три блестящих функции программы:
Я больше никогда не впечатлялся никаким другим инструментом в своих 10 + годы как разработчик. EA поддерживает Oracle, MySQL, SQL Server (несколько версий), PostGreSQL, Межоснова, DB2 и Доступ одним махом. Любое время у меня были проблемы, их форумы, ответило на мои проблемы быстро.Очень рекомендуем!!
Когда изменения DB входят, мы делаем затем в EA, генерируем SQL и проверяем его в нашем управлении версиями (svn). Мы используем Гудзон для создания, и это автосоздает базу данных из сценариев, когда это видит изменение зарегистрированного sql.
Мой совет состоял бы в том, чтобы избавиться от хранимых процедур и вместо этого использовать встроенный SQL, возможно, сохраняемый в тексте/XML-файлах. Я нахожу, что SProcs являются намного более раздражающими и трудоемкими для поддержания. После того как план запросов сгенерирован (в первый раз, когда запрос выполняется), Вы заметите незначительную разницу в производительности. Плюс Вы сможете к управлению версиями свои все сценарии DB...
Вот мои предложения:
Если Вы имеете, имеют вопросы о проблемах миграции Базы данных, это могло бы помочь: http://shashivelur.com/blog/2008/07/hibernate-db-migration/