Solía hibernación 4 en JBoss 7 y Java 7 , y descubrí que la columna BLOB
en mi tabla no funciona como lo que tengo para hibernar 2. Afortunadamente, lo resolví leyendo soluciones de otras personas. Mi solución:
- Tabla en db, la columna aún definida en BLOB; cambiar la asignación de hibernación de
type="blob"
a type="binary"
- En Java captador/definidor, utilizando
byte[]
en lugar de BLOB
(javax.sql
)
- cambio en el código Java, que obtener y definir esta columna correctamente. Si se trata de InputStram, use
byte[]
para leer/escribir en la columna BLOB
; Si lee desde DB utilizando java.sql.ResultSet
, asegúrese de utilizar getBytes() en lugar del método getBlob()
.
dependiendo de la versión de hibernación, la anotación Lob no podría tener ningún parámetro de tipo. cita de [aquí] (https://www.hibernate.org/398.html): @Lob ya no tiene atributos, se adivina el tipo de letra (CLOB, BLOB). Si el tipo subyacente es una Cadena o una matriz de caracteres, se utilizan CLOB. Otros BLOB se utilizan. – Fortega
gracias chicos por sus respuestas rápidas. es la secuencia importante? @Column (name = "FILEIMAGE", length = 1048576) @Lob byte privado [] archivo de imagen; –
@Fortega, el enlace que proporcionó no funciona. – gtiwari333