bad value for type long: - Postgresql, Hibernate, Spring

后端 未结 4 702
忘掉有多难
忘掉有多难 2021-02-07 00:29

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         


        
相关标签:
4条回答
  • 2021-02-07 00:46

    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...

    0 讨论(0)
  • 2021-02-07 00:46

    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

    0 讨论(0)
  • 2021-02-07 00:50

    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!

    0 讨论(0)
  • 2021-02-07 01:10

    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")
    
    0 讨论(0)
提交回复
热议问题