Creat a package-info file in the models package and put the following contents in there:
@org.hibernate.annotations.TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
package com.ourproject.model;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
I used JsonBinaryType
in hibernate-types-52
library.
Then in the entity class, I removed columnDefinition="jsonb"
from the @Column
and only used @Type(type = "jsonb")
This way, for the product, hibernate would map column to jsonb
type.
Then in the test folder inside the same package I added package-info
with this contents:
@org.hibernate.annotations.TypeDef(name = "jsonb", typeClass = TextType.class)
package com.ourproject.model;
import org.hibernate.type.TextType;
Now when we run maven test hibernate generates varchar(2147483647)
column type for the jsonb type and it solved.
Hi,
But without columnDefinition="jsonb" you can't create column in table if it doesn't exists. How do you solve it?