Обязательно ли так делать? Hibernate - это постоянный API, который не заботится о том, как хранятся данные, независимо от того, какой движок СУБД или XML-файлы. Это основа для сохранения ваших объектов. Но это не останавливается на достигнутом, поскольку вы можете запускать запросы (псевдо-SQL или через Criteria API), что в итоге приводит к объектно-ориентированному хранилищу данных.
JAXB - это другой монстр, поскольку он предназначен для сохранения объектов в формате XML, определяемом XSD-схемой, поэтому результирующие данные могут обмениваться между системами, использующими одну и ту же модель.
Если для вас важно хранить данные в формате XML, так как вы работаете с XML, возможно, имеет больше смысла использовать собственную базу данных XML, такую как eXist , которая позволяет вам получать доступ и преобразовывать ваш XML данные в формате XML (XSLT, XQuery, XPath).