Hibernate 4.1.2.FINAL Disabling contextual LOB creation as createClob() method threw error , Blob field
19,574
Since the you are using text
in database, you should be using CLOB
type in the POJO class. If you want to map this, just add a property in your POJO as below,
@Column(name="ACTA_INCREMENTOSUSTITUCION")
@Clob
private Clob tect;
Now, as per your requirement you can convert this Clob to a byte[] as told here.
Author by
Vodo-Siosk Baas
Updated on June 07, 2022Comments
-
Vodo-Siosk Baas almost 2 years
I want to create a BLOB field with hibernate/postgresql 9.1.1
Why do I see this message in the logs:
INFO [org.hibernate.engine.jdbc.internal.LobCreatorBuilder] (MSC service thread 1-5) HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
I know this is not an error.
Hibernate 4.1 documentation:
"@Lob indicates that the property should be persisted in a Blob or a Clob depending on the property type: java.sql.Clob, Character[], char[] and java.lang.String will be persisted in a Clob. java.sql.Blob, Byte[], byte[] and Serializable type will be persisted in a Blob."
I declare my field like this:
@Lob @Type(type = "org.hibernate.type.MaterializedClobType") @Basic(fetch=javax.persistence.FetchType.LAZY) @Column(name = "`ACTA_CERTIFICACION`") public byte[] getActacertificacion() { return actacertificacion; } /** * @param actacertificacion * @uml.property name="actacertificacion" */ public void setActacertificacion(byte[] actacertificacion) { this.actacertificacion = actacertificacion; }
But in the database its create like a text field:
"ACTA_INCREMENTOSUSTITUCION" text
What can I do?, I want to create a byte field or something similar.