java—在使用VladmihalceaJSonBinaryType时获取“jdbc类型:1111的无方言Map”

xkrw2x1b  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(270)

我发现了一些类似的问题,但没有一个与我的情况完全吻合。我现在得到了一个“jdbc类型的无方言Map:1111”,专门用于Mapjsonb类型。我一直在尝试使用vladmihalcea库,我相信它是用来提供Map的,但似乎我没有正确地实现它。具体地说,我正在使用一个kafka消息,该消息使用一个填充jsonobject字段的未知对象类型来符合我的实体类型。例如:
myentity={“field1”:“stuff”,“field2”:“otherstuff”,“jsonobject”:“{这里可以是任何东西}”}
消息对象被使用后,会被持久化到我的数据库中,非常简单,至少在概念上是这样的。
这是我的实体(减去不相关的字段,我知道问题是系统在删除注解时工作的注解字段,但它只是将对象存储为字符串,而不是在我的h2中存储jsonb)。

@Entity
@Table(name = "my_Table")
@TypeDefs({
    @TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
})
public class MyEntity {

    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE)
    private Long my_id;
    ...

    @Type(type="jsonb")
    private String jsonobject;

下面是我的application.properties,不应该影响这个,我不认为,只是以防万一。

spring.datasource.url=jdbc:h2:~/test;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

最后,这是我的回购。再说一次,这是一个标准积垢,所以我不指望它会影响任何东西,只是以防万一。

@Repository
public interface MyEntityRepository extends CrudRepository<MyEntity, Long>{

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题