Методология с Hibernate - PullRequest
1 голос
/ 17 ноября 2011

У меня есть слой доступа к данным, представленный проектом Eclipse. Я использую Hibernate 3 в качестве каркаса постоянства. Итак, в этом проекте у меня есть аннотированные сущности и ресурсы, используемые Hibernate (persistence.xml, XXX.cfg.xml).

Мой вопрос сейчас больше о том, как QA и производство. У меня есть другие проекты, которые используют этот слой доступа к данным. Кроме того, мои объекты могут быть изменены в ходе развития проекта. Когда я выпускаю один из этих проектов в QA, и что уровень доступа к данным был изменен (изменения сущностей), база данных QA должна быть соответственно изменена. И то же самое для производства.

Каковы лучшие практики для этого сценария? Я использую Maven в качестве системы сборки. Как вы думаете, использование hibernate3-maven-plugin подходит для этого случая?

Спасибо за вашу помощь!

1 Ответ

4 голосов
/ 17 ноября 2011

Я бы рекомендовал не использовать hibernate3-maven-pluginhbm2ddl.auto) в производстве / QA, потому что это может иметь нежелательные / неожиданные побочные эффекты.Мне кажется, я где-то читал, что сами создатели Hibernate на самом деле рекомендуют не использовать hbm2ddl.auto в рабочей среде.

Лучше всего написать собственные патчи SQL, чтобы изменить схему базы данных (она также будет оптимизирована).

Для отслеживания сценариев у нас есть каталоги (в управлении исходным кодом), соответствующие версии программного обеспечения (пример: 1.14.1), и все исправления SQL для изменений, запускаемых для конкретной версии (мы обязательносохраните их повторно без побочных эффектов)При развертывании 1.14.1 мы запускаем необходимые сценарии для выпуска программного обеспечения (у нас также есть сценарий, который может автоматически запускать все необходимые сценарии, но обычно это делается вручную).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...