Hibernate: мне нужно написать отдельный POJO для извлечения данных из одной существующей таблицы? - PullRequest
2 голосов
/ 13 апреля 2009

Я использую спящий режим.

В моем основном приложении есть несколько существующих таблиц, которые я хочу использовать для дополнительной функции. Теперь мне нужно извлечь данные из одной существующей таблицы и обработать эти данные. Нужно ли мне писать отдельный POJO для этой таблицы? Я хочу только 2 столбца этой таблицы.

Также необходимо ли сопоставлять все таблицы БД с помощью POJO?

Ответы [ 2 ]

3 голосов
/ 13 апреля 2009

Вам нужно только написать POJO для таблиц, которые вы собираетесь использовать. Если таблица связана с другой через внешний ключ, то вам нужно включить оба. В этом нет ничего особенного - вы можете использовать Hibernate Tools , чтобы сделать эту работу за вас. Для существующей базы данных они могут создавать необходимые файлы конфигурации Java и xml. Это идеально, если вы только начинаете с Hibernate. Создайте файлы автоматически, а затем проконсультируйтесь с ними, чтобы понять, как вы можете написать свои собственные.

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

0 голосов
/ 13 апреля 2009

Краткий ответ - да.

Есть несколько творческих способов попробовать создать объект, но с точки зрения хорошего дизайна и передового опыта Hibernate, вы действительно хотите пойти дальше и написать небольшой урок. Похоже, это очень маленький класс (пустой конструктор, два поля, два метода установки / получения). Если мы продолжим писать класс, мы сделаем код, который работает с этой информацией, чище. В ваших же интересах просто пойти дальше и написать этот урок.

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

...