Мне нужно написать процесс (на Java), который периодически обращается к URL-адресу, считывает возвращенный XML-документ и сохраняет эти данные в БД. Эти данные в дальнейшем используются моим приложением, поэтому я смоделировал их как объекты POJO с отображением Hibernate.
Я могу анализировать XML, а затем создавать соответствующие объекты POJO, но я искал более простой декларативный подход. Какие доступны библиотеки, которые могут принимать входную конфигурацию и создавать объекты POJO из XML-документа?




Вы можете использовать XStream для десериализации XML и сопоставить его напрямую с отображенными в Hibernate POJO.
Ваше здоровье.
Используя Hibernate, вы можете напрямую сопоставить XML с таблицей. Это экспериментальная функция. Проверить здесь http://www.hibernate.org/hib_docs/v3/reference/en-US/html/xml.html
JAXB может автоматически создавать классы на основе схемы XML (при условии, что она у вас есть для источника XML). Затем во время выполнения он может преобразовать XML-документ в POJO, представляющие XML. Он декларативен в том смысле, что вы можете немного настроить сопоставление схемы с классом.
Если я правильно понимаю вашу задачу, это в значительной степени вариант использования JAXB (хотя он может делать и другие вещи). Это часть Java 1.6 (может быть, и 1.5?), В пакетах: javax.xml.bind. *
EclipseLink JAXB (MOXy) имеет расширения для сопоставления сущностей JPA с XML (у сущностей JPA есть такие вещи, как встроенные классы идентификаторов, отложенная загрузка и отношения составных ключей, которые требуют особой обработки), я не знаю ни одного другого решения OXM, которое делает это.
Для получения дополнительной информации см .:
Получив одобрение, с XStream всегда было немного легче работать, чем с JAXB. xstream.codehaus.org