Модель веб-приложения Java - должна ли она содержать атрибут, который содержит выбор внешнего ключа? - PullRequest
1 голос
/ 10 ноября 2010

У меня есть две таблицы базы данных. В одной таблице хранятся данные для commitment, за который отвечает руководитель. Другая таблица поиска доступна programs. Первичный ключ program является внешним ключом в таблице commitment (обязательство по отношению к конкретной финансируемой программе).

У меня есть два объекта Javabean, которые представляют эти таблицы, я думаю, что они называются DTO ?? В любом случае ....

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

Мой вопрос: Должен ли я передать в запросе два атрибута - 'Commitment', который представляет запись одной строки в БД этого конкретного обязательства (при редактировании) и programList список доступных программ, которые я повторяю для отображения в раскрывающемся меню ??

Или я должен изменить свой DTO по обязательству и сделать так, чтобы он имел атрибут, который может хранить список доступных программ (как программные DTO), так что тогда мне нужно будет только передать commitment DTO в атрибуте запроса для мой взгляд?

1 Ответ

0 голосов
/ 10 ноября 2010

Ваш первый подход более самодокументирован.Обязательство привязано к конкретной программе, а не к нескольким программам.Поэтому наличие List<Program> в Commitment вводит в заблуждение других (а также и вас самих, когда вы оглядываетесь на год позже).всегда один и тот же список для каждого пользователя / сеанса), я бы просто поместил его в область приложения, а не в область запроса.

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