Toto je pozdní odpověď, ale pro ty, kteří stále hledají řešení, jsem našel dobrý článek Thorbena Janssena o Thoughts on Java blogu. Nevýhodou je, že je specifická pro Hibernate, ale zdá se, že ji přesto používáte. Řešením je v podstatě použití atributů datového typu java.sql.Blob ve vaší entitě
@Entity
public class Book {
@Id
@GeneratedValue
private Long id;
private String title;
@Lob
private Clob content;
@Lob
private Blob cover;
...
}
A pak použijete BlobProxy Hibernate, který poskytuje OutputStream. Ale podívejte se na článek zde