Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Правильная запись и извлечение объекта из базы.
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
shoo : 115
Новичок

СообщениеЯнв 25, 2012 15:54 
Ответить с цитатой
У меня есть объект message и сервис, записывающий его в базу messageService, у него три метода: getMessage, setMessage, getChildMessages. Первые два работают по такому принципу:
Мы формируем объект message и передаём его методу, тот на основе некоторых полей возвращает тот же объект message, но уже более заполненный.

Например, чтобы получить сообщение из базы:
Код:

message.setId(i);
message = messageService.getMessage(message);

В итоге, на основе id получаем полностью заполненный message.

Чтобы записать сообщение в базу:
Код:

message.setAuthor("Author " + i);
message.setText("Sample text. " + i);
message.setPrev_id(message.getId());
message = messageService.setMessage(message);

Добавляем объект и в message появляется поле id, на основе добавленного объекта.

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

В общем-то суть вопроса в том, как лучше организовать сервис получения/добавления записей, или, может быть, можно каким-нибудь простым способом решить проблемы возникшие у меня.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru