We must be able to store the documents (PDF, Word .doc, ASCII, RTF, XML, HTML, ...) our application generates, (whatever the program generates must be stored an must be retrievable later the way it was at the time it was generated). We're using Java, Hibernate, JDBC.

- What is the best data type to store these documents in? BLOB, CLOB, DBCLOB ?
- How does one store an Java object in a LOB ?
- Should we prefer RTF over Word .doc, for documents that can not be generated (entirely) automatically and need a manual intervention ?
- We would use JasperReports for fully automatically generatable documents, Word when the document also needs a manual intervention. Good choice ?
- are there Java components available that could assist?

Any help, references, comments, ... are very much appreciated.