Best way to map JAXB to a database table Best way to map JAXB to a database table xml xml

Best way to map JAXB to a database table


I guess you need Hyperjaxb3 that provides relational persistence for JAXB objects.

@lexicore is the author about this project.


You can use an extension for xjc - hyperjaxb

  • hyperjaxb2 - Relational persistence for XML data, with JAXB and Hibernate.
  • hyperjaxb3 - Persistence layer for JAXB objects.

For this purpose, hyperjaxb3 will be preferable.

Here is link to some tutorial Generate JPA Java classes from XSD schema file using Maven


If you have complex objects, schema-less database will greatly simplify development and processing time.

From my experience: got millions of XMLs with 200-300 different attributes, nested in several levels.

Spent several days on creating Entities for JAXB + JPA persisting. Insert speed was around 50 objects a second, split to 20-40 tables.

MongoDB's speed about 1000 objects a second. And NO development effort.Just read xml, convert it to JSON with org.json for example, convert json to BSON and insert.

Profiling showed that two conversions took negligible time (couple of percent). Most time was taken by saving to database (20-40 times faster than Oracle RDBMS).