I wanna store an entity(a String + an image) in PostgresQL using Spring MVC and Hibernate Here is my table. The image is supposed to be the type of oid.
CREATE T
when I created the table the column "name" happened to be the first. That's not good. Id must be the first column. If I change the order of columns it works fine...
I faced smiler error and the reason was that I was having some characters other than integer in integer data type filed
e.g.- ,111 and 144- etc
At first I tried to set
@Column(columnDefinition = "text")
instead of @Lob annotation, as already mentioned here. It worked for me on PostgreSQL, but with error org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [htmlText] in table [Question]; found [clob (Types#CLOB)], but expecting [text (Types#VARCHAR)]
in my unit tests (on HSQLDB).
Then it tried
@Column(columnDefinition = "clob")
And it works well on both PostgreSQL and HSQLDB!
I had a similiar problem but it was not related to the order of ID field in the database.
After some searching I found this pointing to the fact that Lobs in Hibernate are treated as OIDs unless otherwise specified.
That means Hibernate will try put a Lob into a Long a hence produce that exception PSQLException: Bad value for type long
The way to specify that the Lob is a to be treated as text is by annotating the field
@Lob
@Type(type = "org.hibernate.type.TextType")