Java Newbie: JPA и EJB вопрос о рабочем процессе - PullRequest
1 голос
/ 28 сентября 2010

Я только что узнал о JPA и сессионных компонентах. Я работал с простой моделью базы данных (схема спроектирована с использованием MySQL Workbench) и использовал мастер IDE (NetBeans) для генерации классов сущностей JPA и сессионных компонентов.

Мой вопрос связан с соответствующим рабочим процессом при изменении модели данных. Например, если я добавлю столбец в таблицу, будут ли некоторые IDE иметь функции, которые будут обновлять классы сущностей и сессионные компоненты для отражения новой базовой структуры данных? Или эти изменения лучше всего обрабатывать вручную?

Я прочитал этот ответ на вопрос SO, но ответ был немного выше моего опыта.

1 Ответ

0 голосов
/ 28 сентября 2010

Я работал с простой моделью базы данных (схема спроектирована с использованием MySQL Workbench) и использовал мастер IDE (NetBeans) для генерации классов сущностей JPA и сессионных компонентов.

По моему опыту, эти сгенерированные сущности часто не идеальны (например, вы получаете атрибуты для FK вместо отношений). Поэтому я считаю их отправной точкой, но, конечно, не конечным результатом.

(...) Например, если я добавлю столбец в таблицу, есть ли в некоторых средах IDE функции, которые будут обновлять классы сущностей и сессионные компоненты для отражения новой базовой структуры данных? Или эти изменения лучше всего обрабатывать вручную?

Мне неизвестен какой-либо инструмент, полностью поддерживающий проектирование в обоих направлениях , особенно при использовании подхода «снизу вверх», т.е. при запуске из схемы базы данных (некоторые поставщики разрешают обновить схема при использовании нисходящего подхода, т.е. при запуске из сущностей и отображений, но это тоже не идеально), и изменения лучше всего обрабатывать IMO вручную.

На самом деле, я лично рассматриваю инструментальные средства генерации кода JPA (независимо от того, используете ли вы нисходящий или восходящий подход) в основном как инструменты «начальной загрузки», они помогают начать работу. Но в какой-то момент вам придется начинать синхронизацию вручную (именно здесь полезны такие инструменты миграции, как упомянутый в вопросе, на который вы ссылаетесь).

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