bad value for type long: - Postgresql, Hibernate, Spring
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")
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...
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 errororg.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!