public class TestCatHibernate { public static void testBlob() { Session s = null; byte[] buffer = new byte[1]; buffer[0] = 1; try { SessionFactory sf = HibernateSessionFactory.getSessionFactory(); s = sf.openSession(); Transaction tx = s.beginTransaction(); Cat c = new Cat(); c.setName("Robbin"); c.setImage(Hibernate.createBlob(buffer)); s.save(c); s.flush(); s.refresh(c, LockMode.UPGRADE); BLOB blob = (BLOB) c.getImage(); OutputStream out = blob.getBinaryOutputStream(); String fileName = "oraclejdbc.jar"; File f = new File(fileName); FileInputStream fin = new FileInputStream(f); int count = -1, total = 0; byte[] data = new byte[(int)fin.available()]; fin.read(data); out.write(data); fin.close(); out.close(); s.flush(); tx.commit();