Currently I'm using Hibernate to persist the entities within my app and I serve the entities back to my users in the form of XML. However this means that each time a resource is request I'm currently generating XML via Java which is ineffecent for a lot of reasons. I was wondering if I want to perhaps create a cache of Document objects when the application is running(i.e. batch load all the objects as Document objects as well) or perhaps use an XML based database in addition to MySQL/Hibernate...