Имах подобен проблем, но не беше свързан с реда на ID полето в базата данни.
След известно търсене намерих това посочвайки факта, че Lobs в Hibernate се третират като OID, освен ако не е посочено друго.
Това означава, че Hibernate ще се опита да постави Lob в Long и следователно ще създаде това изключение PSQLException:Лоша стойност за тип long
Начинът да укажете, че Lob е обект, който трябва да се третира като текст, е чрез анотиране на полето
@Lob
@Type(type = "org.hibernate.type.TextType")