如何将JSON集成到Grails 4(Gorm 7,Hibernate 5.4)中?

ccrfmcuu  于 2023-02-13  发布在  Go
关注(0)|答案(1)|浏览(124)

Grails 4.0.10、GORM 7.0.8发布版、Hibernate 5.4、Postgresql 11
我在Postgres中有一个“data”jsonb列。我一直在尝试通过Hibernate/GORMMap它。为了构建.gradle,我添加了

compile 'com.vladmihalcea:hibernate-types-52:2.17.3'

我的Grails实体属性具有:

data type: 'jsonb', sqlType: 'jsonb'

此时,我从
com.vladmihalcea.hibernate.type.json.internal.JsonTypeDescriptor:

public Object fromString(String string) {
        if (String.class.isAssignableFrom(propertyClass)) {
            return string;
        }
        return objectMapperWrapper.fromString(string, propertyType);
    }

在本例中,propertyClass和propertyType都为null。换句话说,属性的类型声明没有Map,JsonTypeDescriptor类无法看到它。我尝试过使用@TypeDef和@Type的各种hib注解。Grails文档中有关于列“type”描述符的简短说明:
“Hibernate也有自定义UserType实现的概念。在这种情况下,您指定UserType类.”
没有一种宣言的组合对我起作用;在所有这些情况下,我无法将JSON字符串写入jsonb数据库列。2正确的解决方案是什么?

相关问题