Guardar imágenes en base de datos usando JPA
Hay infinidad de ejemplos de cómo guardar una imagen a base de datos con JDBC, y cómo recuperarla. Pues esta vez mostraré un ejemplo usando JPA. Supongamos que nuestra clase entidad tiene una propiedad llamada imagen que es donde se guardará la imagen. Esta propiedad debe declararse así: @Lob @Column(name = "imagen") private byte[] imagen; Para guardar una imagen (supongamos una que esté en el disco), debemos realizar lo siguiente: Entidad i = new Entidad(); // nuestra entidad File f = new File("D:/Imagen006.jpg"); //asociamos el archivo fisico InputStream is = new FileInputStream(f); //lo abrimos. Lo importante es que sea un InputStream byte[] buffer = new byte[(int) f.length()]; //creamos el buffer int readers = is.read(buffer); //leemos el archivo al buffer i.setImagen(buffer); //lo guardamos en la entidad em.persist(i); //y lo colocamos en el EntityManager Ahora, para recuperar el contenido haremos que se muestre el contenido en un JFrame: Enti