2014-11-12 2 views
0

Я собираюсь разработать приложение, которое использует службу RESTfull, а также я буду использовать JPA/Hibernate в качестве ORM. Я использовал эти 2 технологии, но не в одном приложении.Клиент RESTfull с объектами JPA

Поскольку клиент не имеет состояния, это означает, что использование состояний полного состояния на уровне данных или услуги меньше. А также есть двунаправленные сопоставления.

Я думаю, что опция JPA не будет работать, а не будет уничтожать данные, если клиент делает обновление.

Так что я думаю, есть detach объектов, прежде чем служить для клиента и, Если есть обновление (PUT) запрос, просто передавая родительский объект и обновить только родитель. Поэтому я не могу использовать CASCADE вариант.

Если это просьба удалить (DELETE), я должен выполнить операции CASCADE вручную.

Также я считаю, что создание связей между объектами может быть проблемой.

Может ли кто-нибудь дать объяснение по поводу этого сценария? Правильно ли этот подход? Есть ли передовая практика в такой ситуации?

Спасибо!

+0

_что я думаю, отделяю объекты перед подачей на клиента_ Как будто у вас был выбор ;-) –

ответ

2

Не смешивайте свои бизнес-объекты в веб-слое.

Я бы рекомендовал отделить ваш бизнес-уровень от веб-уровня, создав новые аннотированные объекты JAXB, чтобы вернуться с вашего контроллера REST.

Если вы хотите упростить свою работу, существует множество библиотек, которые могут копировать 1 bean-компонент в другой. Например, Apache BeanUtils.class.

Смежные вопросы