У меня есть умная программа, в которой задан файл, содержащий очень конкретные метаданные базы данных, для меня в eclipse создается весь проект. Он использует hibernate для доступа к базе данных и предоставляет базовые функции crud, а также предоставляет интерфейс xhtml.Проблема проектирования с Seam
Все это прекрасно работает, и практически все можно сделать, если потребуются простые операции. Однако, конечно, я ожидаю, что рано или поздно мне понадобится изменить этот проект, чтобы добиться определенного индивидуального поведения.
Я мог бы просто изменить проект и никогда не оглядываться назад, но я бы потерял огромное преимущество, чтобы регенерировать проект, чтобы добавить новые таблицы и поведения. Хотя я мог бы сгенерировать новый проект с моими изменениями и применить эти изменения вручную, я бы предпочел не делать этого для каждого изменения, которое мне нужно сделать.
К сожалению, инструмент, который генерирует этот проект, не может быть затронут (по причинам, что это не наш инструмент, а инструмент сторонней компании-производителя программного обеспечения, которая выпускает шаблоны проектов).
Я заметил, что он сильно использует структуру Seam для создания созданных классов (используя @In(create = true)
). Есть ли способ продлить сгенерированный класс таким образом, чтобы регенерация существующих классов не переопределяла мои изменения, но вместо этого были созданы эти расширенные классы?
Есть ли какая-то стратегия, которую я могу использовать, чтобы свести к минимуму модификацию сгенерированных классов (идеальным вариантом было бы изменение поведения просто путем добавления файлов в проект, хотя я понимаю, что это невозможно для файлов xhtml)? Любая помощь будет оценена, хотя я понимаю, что некоторые изменения должны быть внесены в инструмент до того, как это станет возможным (например, завод?).
Звучит очень похоже на шов. Это то, что вы используете? – 2010-11-27 15:48:12
Вполне возможно, хотя я не могу сказать точно. Просто прошел крутой курс несколько дней назад, и я до сих пор не хватает подробностей о том, как это работает. – Neil 2010-11-30 11:11:00