如何让jsonb ColumnTransformer兼容H2

问题描述 投票:0回答:1

我们使用 jsonb ColumnTransformer 与后端 postgres 数据库,如何使其与 h2 兼容,以便可以在 H2 而不是 postgres 中运行测试

@JsonProperty("home_address")
@Column(name = "home_address", nullable = true, columnDefinition = "jsonb")
@ColumnTransformer(write = "?::jsonb")
@Convert(converter = JsonbConverter.class)
private Map<String, Object> homeAddress;

编辑

        address jsonb,

)" via JDBC [Unknown data type: "JSONB";]
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:94)
    at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233)
    at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createTables(SchemaCreatorImpl.java:428)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createSequencesTablesConstraints(SchemaCreatorImpl.java:344)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:239)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142)
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:250)
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:144)
    at java.base/java.util.HashMap.forEach(HashMap.java:1429)
java postgresql hibernate spring-data-jpa h2
1个回答
0
投票

更新h2版本。最新版本支持了。

© www.soinside.com 2019 - 2024. All rights reserved.