Java 在创建自定义hibernate类型类时,是否应该有不同的wrap和unwrap类类型?

Java 在创建自定义hibernate类型类时,是否应该有不同的wrap和unwrap类类型?,java,hibernate,hibernate-types,Java,Hibernate,Hibernate Types,创建自定义休眠类型时,例如 public class CustomHibernateType extends AbstractSingleColumnStandardBasicType<Custom> { public CustomHibernateType() { // Notice the JsonBinarySqlTypeDescriptor class from @vladmihalcea's hibernate types library

创建自定义休眠类型时,例如


public class CustomHibernateType extends AbstractSingleColumnStandardBasicType<Custom>
{
    public CustomHibernateType()
    {
        // Notice the JsonBinarySqlTypeDescriptor class from @vladmihalcea's hibernate types library
        super(JsonBinarySqlTypeDescriptor.INSTANCE, CustomHibernateTypeDescriptor.INSTANCE);
    }

    @Override
    public String getName()
    {
        return "CustomHibernateType";
    }
}
我发现在自定义hibernate类型描述符中保存和检索数据时,使用的类类型是不同的。它保存为jackson
JsonNode
,这是预期的,因为这是在
JsonBinarySqlTypeDescriptor
类中使用的,但是当检索它时,它会在unwrap方法中作为PGobject(具有简单的字符串值)检索


我应该期待这个,还是应该在两个方向上都期待JsonNode?我在处理PGobject时没有问题,只是没有预料到,所以我想知道是否有一些配置丢失。

方法将实体属性类型转换为应该传递给JDBC
PreparedStatement
的类型

unwrap
方法将从JDBC
ResultSet
提取的对象转换为预期的实体属性类型

    // only constructor for brevity, can include more if needed
    public CustomHibernateTypeDescriptor()
    {
        super(Custom.class, ImmutableMutabilityPlan.INSTANCE);
    }