JAXB демаршаллинг сущностям - PullRequest
3 голосов
/ 07 апреля 2011

Я работаю над проектом, включающим поток XML и преобразовывающим эти данные в постоянные данные в моей базе данных. До сих пор я дошел до того, что могу использовать свой веб-сервис, сгенерировал несколько JAXB POJO и начал демаршализацию потока XML.

Я пытаюсь выяснить, есть ли способ перейти от XML к сущностям.

Я знаю, что могу спроектировать свою новую базу данных, сгенерировать некоторые сущности, а затем распаковать XML в сгенерированные POJO, затем переместить данные POJO в сущности и сохранить это. Но это звучит довольно смешно. Кто-нибудь подскажет мне, где искать, я не нашел ничего, чтобы погуглить проблему. Я использую Netbeans 6.9.

1 Ответ

2 голосов
/ 07 апреля 2011

Вы можете создавать свои JAXB-аннотированные объекты , которые также Java Persistence API (JPA) -аннотированные объекты.Используя JPA, вы можете сохранить эти объекты в вашей базе данных.Преимущество хранения аннотаций JAXB и JPA в одном классе заключается в том, что любые изменения в вашем объекте необходимо вносить только в этот класс, представление пользовательского интерфейса и связанный XSD

. Однако в некоторых случаях это возможно.сломать идеи, стоящие за архитектурой N уровня.Вы эффективно объединяете свою бизнес-логику с уровнем постоянства.Ради устранения дублирования это может быть хорошей идеей, но иногда вы обнаружите, что используете @Transient и @XmlTransient, чтобы помещать в класс вещи, необходимые только в XML или базе данных, без того, чтобы они влияли на области, в которых они отсутствуют.Это необходимо.

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

Этот вопрос охватывает некоторые инструменты для минимизации усилий по переносу данных между XML и хранилищем данных через JAXB.

...