Ik had een soortgelijk probleem, maar het was niet gerelateerd aan de volgorde van het ID-veld in de database.
Na wat zoeken vond ik dit wijzend op het feit dat Lobs in Hibernate worden behandeld als OID's, tenzij anders aangegeven.
Dat betekent dat Hibernate zal proberen een Lob in een Long te plaatsen en dus die uitzondering te produceren PSQLException:Bad value for type long
De manier om aan te geven dat de Lob als tekst moet worden behandeld, is door het veld te annoteren
@Lob
@Type(type = "org.hibernate.type.TextType")